0

我想调用一个 jquery ajax 函数并传入数据。我知道数据应该被格式化为查询字符串。如果我传入类似$(':checked')数据的内容,那么它将被格式化为tagname=value1&tagname=value2...etc哪个好。

现在,我想用一个关联数组替换 jquery 结果,其中包含一些我得到的整数value1=true$value2=true。那不是我想要的。

如何使用键格式化关联数组以传递给 jquery ajax 调用?

4

1 回答 1

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 文档后,我得到了这个想法:

如果传递的对象是一个数组,它必须是一个由 .serializeArray() 返回的格式的对象数组

[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]

不过可能有更好的方法。如果您知道,请发表评论或提供其他答案。

于 2012-04-26T19:24:43.987 回答