在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 });
非常感谢。
答案 0 :(得分:12)
自4.0以来不推荐使用搜索,而params是传递查询参数的首选方法。
答案 1 :(得分:-1)
您可以使用HttpParams类!
检查此代码段:
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});