我想调用一个 jquery ajax 函数并传入数据。我知道数据应该被格式化为查询字符串。如果我传入类似$(':checked')
数据的内容,那么它将被格式化为tagname=value1&tagname=value2...etc
哪个好。
现在,我想用一个关联数组替换 jquery 结果,其中包含一些我得到的整数value1=true$value2=true
。那不是我想要的。
如何使用键格式化关联数组以传递给 jquery ajax 调用?
我想调用一个 jquery ajax 函数并传入数据。我知道数据应该被格式化为查询字符串。如果我传入类似$(':checked')
数据的内容,那么它将被格式化为tagname=value1&tagname=value2...etc
哪个好。
现在,我想用一个关联数组替换 jquery 结果,其中包含一些我得到的整数value1=true$value2=true
。那不是我想要的。
如何使用键格式化关联数组以传递给 jquery ajax 调用?
好的,我想出了一个解决方案。我创建了以下函数,它返回一个可以作为数据传递给 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 文档后,我得到了这个想法:
如果传递的对象是一个数组,它必须是一个由 .serializeArray() 返回的格式的对象数组
[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]
不过可能有更好的方法。如果您知道,请发表评论或提供其他答案。