Angular 2 HTTP获取返回URL null
我正在尝试使用angular 2和Typescript发出一个简单的HTTP GET请求。我得到一个404错误,url为空。下面显示的是我的组件文件,以及我收到的错误Angular 2 HTTP获取返回URL null,http,angular,get,Http,Angular,Get,我正在尝试使用angular 2和Typescript发出一个简单的HTTP GET请求。我得到一个404错误,url为空。下面显示的是我的组件文件,以及我收到的错误 import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { BreadcrumbService } from './breadcrumbService'; import { Http, R
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { BreadcrumbService } from './breadcrumbService';
import { Http, Response } from '@angular/http';
@Component({
moduleId: module.id,
providers: [ BreadcrumbService],
templateUrl: 'html/appList.html',
styleUrls: ['css/list.css']
})
export class HealthComponent {
constructor(private http: Http) {
this.http.get('http://jsonplaceholder.typicode.com/posts/1')
.toPromise()
.then((res: Response) => {
console.log('RES: ', res);
})
.catch((err: Error) => {
console.log('ERR!!: ', err);
});
}
}
错误消息:
Response {_body: Object, status: 404, ok: false, statusText: "Not Found", headers: Headers…}
_body:Object
headers:Headers
ok:false
status:404
statusText:"Not Found"
type:2
url:null
__proto__:Body
如您所见,这是一个404错误,请分析您对服务器的请求。404错误意味着找不到您请求的内容 关于如何发出请求,请尝试使用
.map
而不是toPromise
尽量不要在构造函数上发出HTTP请求,而是使用Ngonit。这可能是MemoryWebapiModule.forRoot中的
相关问题。当您加载内存中的api,但试图访问未定义的url时,就会发生这种情况。解决此问题的方法是在app.module
config:
InMemoryWebApiModule.forRoot(InMemoryDataService,{passThruUnknownUrl:true})
您使用的angular 2是什么版本?@galvan看起来是2.0.0 beta.17,但我使用的是import@angular/httpI有相同的问题-运气好吗?@Yuvals我从未解决过它。我认为这是http导入的问题。我对这个项目不太了解,所以我只是下载了一个已启动的项目,其中http已经导入并工作了…@MalindaMiller我相信我发现了问题。。请看下面我的答案。非常感谢,我也遇到了同样的问题,这绝对是一个有效的解决方案。我将不得不进一步研究InMemory模块导致这种行为的原因。