在URL中调用不带localhost的API

时间:2017-10-15 08:25:42

标签: angular typescript

我正在使用openweather API做一个简单的天气应用程序。我遇到的问题是,当我调用API时,网址调用是localhost:4200/api...网址,我必须在没有localhost的情况下调用 API网址

WeatherService.ts

private _url: string;

constructor(private http: Http) {

}

set url(url: string) {
    this._url = url;
}

getDataForSingleCity(city: string): Promise<any> {

    this._url = 'api.openweathermap.org/data/2.5/forecast?q=' + city + '&appid=' + key;

    return this.http.get(this._url)
                    .toPromise()
                    .then(resp => resp.json().data as any)
                    .catch(this.handleErrors);
}

city字符串将通过输入字段传递。

1 个答案:

答案 0 :(得分:0)

  

我遇到的问题是,当我调用API时,URL调用是localhost:4200 / api ...

导致您拥有以下网址:

this._url = 'api.openweathermap.org/data/2.5/forecast?q=' + city + '&appid=' + key;

relative

修复

使用绝对网址:

this._url = 'http://api.openweathermap.org/data/2.5/forecast?q=' + city + '&appid=' + key;