来自angular的本地主机请求

Unk*_*own 6 python flask angular

您好,我在 Python 中的 Flask 中创建了一个迷你端点,并且运行良好。当我从 Postman 访问它时:

http://127.0.0.1:5000/retrieve_data

它将数据作为 json 检索。但是当我从 angular 调用端点时:

export class HomeComponent implements OnInit {
  title = 'angular-demo';
  data = this.getAnnounce();

  getAnnounce() {
    return this.http.get('http://127.0.0.1:5000/retrieve_data');
  }

  constructor(private http: HttpClient) {

  }
Run Code Online (Sandbox Code Playgroud)

实际结果是:

    {
        "_isScalar": false,
        "source": {
            "_isScalar": false,
            "source": {
                "_isScalar": false,
                "source": {
                    "_isScalar": true,
                    "value": {
                        "url": "http://127.0.0.1:5000/retrieve_data",
                        "body": null,
                        "reportProgress": false,
                        "withCredentials": false,
                        "responseType": "json",
                        "method": "GET",
                        "headers": {
                            "normalizedNames": {},
                            "lazyUp
Canceldate": null,
                            "headers": {}
                        },
                        "params": {
                            "updates": null,
                            "cloneFrom": null,
                            "encoder": {},
                            "map": null
                        },
                        "urlWithParams": "http://127.0.0.1:5000/retrieve_data"
                    }
                },
                "operator": {
                    "concurrent": 1
                }
            },
            "operator": {}
        },
        "operator": {}
    }
Run Code Online (Sandbox Code Playgroud)

PS:我对 anuglar 非常菜鸟

Xiw*_*ang 2

Angular的http客户端文档来看,返回值的类型http.get()Observable

所以如果你想获取服务器响应的数据,你必须这样订阅:

data = {};

getAnnounce() {
    this.http.get('http://127.0.0.1:5000/retrieve_data')
        .subscribe(result => this.data = result);
}
Run Code Online (Sandbox Code Playgroud)