【问题标题】:Angular 2/4 : encode complex object within http.get search paramsAngular 2/4:在 http.get 搜索参数中编码复杂对象
【发布时间】:2017-07-14 11:00:40
【问题描述】:

如何转换这样的对象

{
    param1: "value1",
    param2: "value2",
    param3: ["value31" "value32"]    
}

变成这样的查询字符串:

param1=value1&param2=value2&param3[]=value31&param3[]=value32

通过 http.get 请求传递?

【问题讨论】:

  • 好吧,我实际上是在寻找一种原生 Angular API 来做到这一点,而不是自定义解析函数。另外,我无意使用 jquery!

标签: angular http encoding query-string


【解决方案1】:

我认为这是您正在寻找的东西:

import { URLSearchParams } from '@angular/http';

let someObject = {
  param1: "value1",
  param2: "value2",
  param3: ["value31" "value32"]    
}

let queryString = new URLSearchParams();

for (const key in someObject) {
  queryString.set(key, someObject[key]);
}

queryString.toString();

您可以在URLSearchParams API 找到更多关于不同选项的信息。

【讨论】:

  • 这样我得到的是:param1=value1&param2=value2&param3=value31,value32 这与我的远程服务所期望的不同......
  • 那么唯一的解决方案就是做你自己的自定义解析器。
猜你喜欢
  • 2016-11-23
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
相关资源
最近更新 更多