将关联数组作为数据传递给jquery ajax函数

时间:2012-04-26 18:59:01

标签: jquery

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

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

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

1 个答案:

答案 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"}]

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