我想调用jquery ajax函数并传入数据。我知道数据应该被格式化为查询字符串。如果我传递了$(':checked')
之类的数据作为数据,那么它将被格式化为tagname=value1&tagname=value2...etc
,这很好。
现在,我想用一个带有一些整数的关联数组替换jquery结果,得到value1=true$value2=true
。那不是我想要的。
如何使用密钥格式化关联数组以传递给jquery ajax调用?
答案 0 :(得分:1)
好的,我找到了一个解决方案。我创建了以下函数,该函数返回一个数组,该数组可以作为数据传递给jquery ajax函数:
function () {
var kvArray = [];
for (x in MyAssociativeArray) {
var kv = {};
kv.name = "NameIWantToAssign";
kv.value = x;
kvArray.push(kv);
}
return kvArray;
};
诀窍是使用.name和.value属性。我在阅读以下jquery文档后得到了这个想法:
如果传递的对象在Array中,则它必须是.serializeArray()
返回的格式的对象数组[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]
虽然可能有更好的方法。如果您知道,请发表评论或提供其他答案。