您好,我正在Angular 2上创建一个HTTP请求,但我不知道如何添加url参数(查询字符串)。
this.http.get(StaticSettings.BASE_URL).subscribe( (response) => this.onGetForecastResult(response.json()),(error) => this.onGetForecastError(error.json()),() => this.onGetForecastComplete() );
现在我的StaticSettings.BASE_URL是一个像url,没有查询字符串,如:http://atsomeplace.com/,但我想它是http://atsomeplace.com/?var1=val1&var2=val2
其中var1和var2适合我的Http请求对象?我想添加他们像一个对象。
{ query: { var1: val1,var2: val2 } }
然后只是Http模块做的工作来将其解析成URL查询字符串。
Http.get方法接收一个实现
RequestOptionsArgs作为第二个参数的对象。
该对象的搜索字段可用于设置字符串或URLSearchParams对象。
一个例子:
// Parameters obj- let params: URLSearchParams = new URLSearchParams(); params.set('appid',StaticSettings.API_KEY); params.set('cnt',days.toString()); //Http request- return this.http.get(StaticSettings.BASE_URL,{ search: params }).subscribe( (response) => this.onGetForecastResult(response.json()),() => this.onGetForecastComplete() );
Http类的文档有更多的细节。它可以找到here。