我刚接触Angular 2,还在学习如何使用get调用来访问URL,但是get似乎不能通过浏览器的网络,我找不到被调用的get URL。
程序将转到方法控制台,记录get调用上下记录,但不记录get调用
我的服务方法
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
我的控制台屏幕截图
发布于 2016-12-29 22:04:38
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());
return response.json();
});
}
然后:
getAllPersons().subscribe();
发布于 2020-08-10 02:25:36
注意:确保从app.js或其他一些后端服务获得响应,这些服务不是托管在同一个角度端口,我们必须保持运行两个端口。所以最好使用两个终端,因为我已经使用VS代码终端来保持节点服务器(http://localhost:3000/api/get)的运行,并使用命令提示符来保持角度服务器(http://localhost:4200)的运行
https://stackoverflow.com/questions/41381200
复制相似问题