Angular 2 HTTP获取返回URL null

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

我正在尝试使用angular 2和Typescript发出一个简单的HTTP GET请求。我得到一个404错误,url为空。下面显示的是我的组件文件,以及我收到的错误

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模块导致这种行为的原因。