我正在尝试使用 Angular 2 和 Typescript 发出一个简单的 HTTP GET 请求。我收到 404 错误,网址为空。下面显示的是我的组件文件以及我收到的错误。
\n\nimport { Component, OnInit } from \'@angular/core\';\nimport { Router } from \'@angular/router\';\nimport { BreadcrumbService } from \'./breadcrumbService\';\nimport { Http, Response } from \'@angular/http\';\n\n@Component({\n moduleId: module.id,\n providers: [ BreadcrumbService],\n templateUrl: \'html/appList.html\',\n styleUrls: [\'css/list.css\']\n\n})\nexport class HealthComponent {\n constructor(private http: Http) {\n this.http.get(\'http://jsonplaceholder.typicode.com/posts/1\')\n .toPromise()\n .then((res: Response) => {\n console.log(\'RES: \', res);\n })\n .catch((err: Error) => {\n console.log(\'ERR!!: \', err);\n });\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n错误信息:
\n\nResponse {_body: Object, status: 404, ok: false, statusText: "Not Found", headers: Headers\xe2\x80\xa6}\n _body:Object\n headers:Headers \n ok:false\n status:404\n statusText:"Not Found"\n type:2\n url:null\n __proto__:Body\nRun Code Online (Sandbox Code Playgroud)\n
可以看到,这是一个404错误,分析一下你对服务器的请求。404错误意味着没有找到您请求的内容。
关于如何提出请求,请尝试使用 ti.map而不是toPromise。
尽量不要在构造函数上发出 HTTP 请求,而是使用 ngOnInit。