在 Angular 4 的 HTTP 包 ('@angular/http'( 中,可以在 get 请求中传递 URLSearchParams 对象。在请求方法中分配参数对象时,使用搜索和参数作为将值传递到的属性有什么区别?
例如,以下两段代码有什么区别:
let params = new URLSearchParams();
params.set('param1', 'xyz');
this.http.get('url', { search: params });
和
let params = new URLSearchParams();
params.set('param1', 'xyz');
this.http.get('url', { params: params });
非常感谢。
搜索从4.0 开始被弃用,参数是传递查询参数的首选方式。
你可以使用 HttpParams class!
检查此代码段:
import { HttpParams } from '@angular/common/http';
private setParams(parameters): HttpParams {
let params = new HttpParams();
let keys = Object.keys(parameters);
keys.forEach( (key) => {
params = params.append(key, parameters[key].toString());
});
return params;
}
在您的请求中:
let params = this.setParams({});
http.get(your_url, {params: params});