javascript - 在 URLSearchParams 中使用 json 对象

标签 javascript jquery angular typescript

是否可以以某种方式将 json 对象附加到 URLSearchParams 对象上?

所以代替:

urlSearchParams.append('search', 'person');

它是:

urlSearchParams.append({search: "person"});


我的回答由 Darshak Gajjar 的回答提供

可以通过这种方式使用json对象:

let test_this = [{"search": "person"}, { search: "another person"}];
var json = JSON.stringify(test_this);
urlSearchParams.append("myobj", json);

return this.http.post(this.post_url, urlSearchParams, options) //options being your own RequestOptions

最佳答案

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

像这样的东西可能会工作 urlSearchParams = Object.assign(urlSearchParams, {search: "person"});

编辑:使用 vanilla javascript 的替代解决方案。另外,我以为 URLSearchParams 只是一个普通的 js 对象,但实际上你必须使用 getsetappend 来访问属性。

var params = new URLSearchParams("a=apple&b=balloon");
var parametersToAdd = {c: "car", d: "duck"};
for(key in parametersToAdd)
  params.append(key, parametersToAdd[key]);

console.log(params.get('c'));
console.log(params.get('d'));
  

编辑之二: .append() 支持重复使用相同的键/参数名称,而 .set() 会覆盖以前的值。

关于javascript - 在 URLSearchParams 中使用 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41135595/

相关文章:

javascript - Bokeh div 小部件,通过按按钮更改文本

javascript - (圆形)(类似 PowerPoint)在两个 div 之间转换

javascript - 搜索JSON数据并以html显示

jquery - SEO友好性是否胜过优雅?

jquery模式弹出窗口从文件中读取

angular - 如何在单击时在父组件内复制子组件模板? ( Angular 2)

java - 使用javascript将dataURL转换为文件

javascript - Angular - 来自变量的 ngModel 对象属性

angular - 路由总是重新加载页面

javascript - JS 中的质因数分解重复