Angular 4 http get with parameters - 搜索和参数之间的区别



在 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});

最新更新