将对象转换为url查询参数

时间:2016-10-14 16:01:01

标签: http angular url-parameters

角度2中的角度1 $httpParamSerializer(params);相当于什么?

1 个答案:

答案 0 :(得分:4)

我不知道确切的等价物,但使用URLSearchParams它会为您处理编码。很糟糕,它不允许你传递一个对象,所以你需要做一些像

这样的事情
import { URLSearchParams } from '@angular/http';

let params = new URLSearchParams();
for (let key in someObj) {
  if (somObj.hasOwnProperty(key)) {
    params.set(key, someObj[key])
  }
}

如果出于某种奇怪的原因,您只需要字符串,只需拨打params.toString()即可。否则,如果您想将其传递给Http请求,请执行

let options = new RequestOptions({ search: params });
http.get(url, options);

查询字符串将附加到GET请求中的URL,在POST请求中,您可以将其设置为正文

http.post(url, params);