2017-07-14 105 views
5

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

非常感谢。

回答

12

自4.0开始,不推荐使用搜索,params是传递查询参数的首选方式。

+2

谢谢你,我很欣赏的答案,该文档已在不断变化,它也很详细欠缺。再次感谢。 – Dreamlord

-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}); 
相关问题