Angular 2 http没有得到

我新来Angular 2仍然学习我正在尝试打一个电话的url,但即使在浏览器的networking中似乎没有通过我无法find被调用的URL。

该程序是去那个方法控制台日志logging上面和下面,得到调用,但没有任何获取调用

我的服务方法

import { Headers, Http, Response } from '@angular/http'; import { Injectable } from '@angular/core'; import { Persons } from './mock-people'; import { Person } from './person'; import {Observable} from 'rxjs/Rx'; getAllPersons():void{ console.log("Here"); this.http.get(`http://swapi.co/api/people/1`).map((response:Response) => { console.log(response.json()); response.json(); }); console.log("Comes here 2"); } 

在app.module.ts中导入Httpmodule

我的控制台屏幕截图

安慰

Http使用rxjs,是一个冷/懒惰的观察,这意味着你应该订阅它使其工作。

  this.http.get(`http://swapi.co/api/people/1`).map((response:Response) => { console.log(response.json()); response.json(); }).subscribe(); 

或者,如果你想从其他地方订阅,你应该像这样返回http.get方法:

  getAllPersons():Observable<any>{ console.log("Here"); return this.http.get(`http://swapi.co/api/people/1`).map((response:Response) => { console.log(response.json()); response.json(); }); } 

接着 :

  getAllPersons().subscribe(); 

方法应该使用Observable返回api调用的响应。

service.cs

 import { Http, Jsonp, Response, Headers, RequestOptions } from '@angular/http'; import { Injectable } from '@angular/core'; import { Persons } from './mock-people'; import { Person } from './person'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/forkJoin'; @Injectable() export class Service { constructor(private jsonp: Jsonp, private _http: Http) { } getAllPersons():Observable<any>{ console.log("Here"); let headers = new Headers({ 'Content-Type': 'application/json' }); let options = new RequestOptions({ headers: headers, method: 'get' }); return this._http.get('http://swapi.co/api/people/' + personId) .map((res:Response) => { return <any>res.json(); }) .catch(this.handleError); console.log("Comes here 2"); } private handleError(error: Response) { console.error(error); return Observable.throw(error.json().error || ' error'); } } 

选项和标题是可选的。

注意:不是( <any> ),你可以定义你的数据types或者你在响应中获取数据的任何其他定义types。

谢谢。