Angular 4 http获取参数 - 搜索和参数之间的差异

时间:2017-07-14 09:51:39

标签: angular

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

非常感谢。

2 个答案:

答案 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});