Angular 2 HTTP 不工作
Angular 2 HTTP is not working
我正在使用 Angular 2 beta.18,并尝试使用 google 地图地理编码。
我正在按照所有教程描述的方式进行操作,但收到了奇怪的回复。
我的组件:
import { Injectable } from '@angular/core';
import { Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
@Injectable()
export class GoogleMapService {
constructor(private http: Http) { }
convertAddressToCooredinate(address: string){
if(address != null){
var address ="1334 Emerson St, NE Washington DC";
return this.http.get('https://maps.googleapis.com/maps/api/geocode/json?address='+encodeURIComponent(address))
.map(response => response.json());
}
}
}
响应应包含 JSON 和结果,但我收到以下内容:
Observable {_isScalar: false, source: Observable, operator: MapOperator}
我尝试将请求定向到其他 URL 并收到相同的响应。
你的 convertAddressToCooredinate
函数 returns 一个可观察的。如果您不在代码中订阅此可观察对象,则不会对后端进行 rest 调用。因此,您只记录您的观察结果。
示例:
Some Component
constructor(private gms: GoogleMapService ) {
this.gms.convertAddressToCooredinate('some address')
.subscribe((response)=>{
console.log(response);
});
}
我正在使用 Angular 2 beta.18,并尝试使用 google 地图地理编码。 我正在按照所有教程描述的方式进行操作,但收到了奇怪的回复。
我的组件:
import { Injectable } from '@angular/core';
import { Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
@Injectable()
export class GoogleMapService {
constructor(private http: Http) { }
convertAddressToCooredinate(address: string){
if(address != null){
var address ="1334 Emerson St, NE Washington DC";
return this.http.get('https://maps.googleapis.com/maps/api/geocode/json?address='+encodeURIComponent(address))
.map(response => response.json());
}
}
}
响应应包含 JSON 和结果,但我收到以下内容:
Observable {_isScalar: false, source: Observable, operator: MapOperator}
我尝试将请求定向到其他 URL 并收到相同的响应。
你的 convertAddressToCooredinate
函数 returns 一个可观察的。如果您不在代码中订阅此可观察对象,则不会对后端进行 rest 调用。因此,您只记录您的观察结果。
示例:
Some Component
constructor(private gms: GoogleMapService ) {
this.gms.convertAddressToCooredinate('some address')
.subscribe((response)=>{
console.log(response);
});
}