Angular 4 http带参数 - 搜索和参数之间的区别
问题描述:
在Angular 4的HTTP包('@ angular/http')中,可以在get请求中传递一个URLSearchParams对象。在请求方法中分配参数对象时,使用搜索和params作为要传递值的属性之间的区别是什么?Angular 4 http带参数 - 搜索和参数之间的区别
例如,就是下面的代码两段之间的差异:
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开始,不推荐使用搜索,params是传递查询参数的首选方式。
答
您可以使用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});
谢谢你,我很欣赏的答案,该文档已在不断变化,它也很详细欠缺。再次感谢。 – Dreamlord