是否可以告诉jQuery /一个AJAX调用以特定方式格式化查询字符串参数,而不仅仅是编写自己的序列化程序?

我有一个jQuery AJAX调用,并且正在传递一个包含URL参数的对象

var params = {name: 'somename', favColors: ['red','blue']};

检查AJAX调用$.get("/Controller/Action/", params)显示URL参数字符串为?name=somename&favColors[]=red&favColors[]=blue

目标网址希望查询参数不包含重复数组值的[],例如?name=somename&favColors=red&favColors=blue

谢谢!

最佳答案

您可以使用jQuery.param()及其第二个参数traditional,将结果提供给$.get()

var params = {name: 'somename', favColors: ['red','blue']};

$.get("/Controller/Action/", $.param(params, true))


该参数描述为:


  一个布尔值,指示是否执行传统的“浅”序列化。


在这种情况下:

console.log($.param(params, true));
// "name=somename&favColors=red&favColors=blue"

10-07 14:07