我正在学习 Angular 2,我正在尝试在页面加载时为我拥有的 JSON 数据调用一个简单的 HTTP Get 请求,并在页面加载时操作该 JSON。谁能用一些基本示例告诉我该怎么做?我在网上看到的大部分解决方案都来自 Beta 版。
最佳答案
像这样创建一个服务:
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import 'rxjs/Rx';
import {Observable} from 'rxjs/Rx'
export class MyService {
constructor(public http: Http) { }
private extractData(res) {
if (res.status < 200 || res.status >= 300) {
throw new Error('Bad response status: ' + res.status);
}
// console.log(res.json());
this.serviceData = (res.json());
return this.serviceData || {};
}
loaddata(): Observable<any> {
return this.http.get(this.server_url) // define a variable server_url to assign the requested url
.map(this.extractData);
}
}
现在在组件的 ngOnInit
方法中通过调用此服务方法获取值。
class MyComponent{
constructor(public _myService: MyService)
ngOnInit(){
this._myService.loaddata().subscribe(data => {
// do something with the data
})
}
}
关于angular - 如何在 Angular 2 中调用简单的 http GET 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41099561/