您好,我正在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。