javascript - $.param() 生成的查询字符串包含数组的方括号

标签 javascript jquery

我有一个像这样的对象:

var queryObject= {
      name: 'Shwetanka',
      subjects: ['Mathematics', 'Physics', 'Computers'],
      stream: 'science'
    };

当我使用 $.param(queryObject) 创建查询字符串时,我将其作为查询字符串:

name=Shwetanka&subjects%5B%5D=Mathematics&subjects%5B%5D=Physics&subjects%5B%5D=Computers&stream=science

预期:name=Shwetanka&subjects=Mathematics&subjects=Physics&subjects=Computers&stream=science

如何避免方法在查询字符串中为同名参数添加 [] 。在后端我使用 struts2读取参数。

最佳答案

我已经找到解决办法了。我只需在 $.param(queryObject, true) 中传递 'traditional=true' 即可。这会生成我想要的查询字符串。

关于javascript - $.param() 生成的查询字符串包含数组的方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12562842/

相关文章:

javascript - 如果模型计算结果为 true,则检查 angularjs 复选框

javascript - 为什么我的 onChange 事件在 React 中不起作用?

javascript - ng-switch 在 ng-repeat AngularJS 中不起作用

php - Ajax 正在躲避我。如何执行一个简单的ajax请求?

javascript - 隐藏选择菜单并使用按钮打开

javascript - React 路由器 - 从外部组件导航时页面不会改变

javascript - 使用 Jquery Ajax PHP 提交表单

jquery - 在响应中保持 div 与背景图像的比例高度

javascript - 查找文件名然后查找匹配的字符串

php - 如何使用 php mysql 在弹出窗口中显示记录