2012-04-26 53 views
0

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

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

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

+0

这个关联数组来自哪里?手工制作或JQuery输出?如果是JQuery输出,则替换$ for&将完成这项工作。 – 2012-04-26 19:23:00

回答

1

好吧,我有一个解决方案,我想通了。我创建了下面的功能,它返回一个可以传递在作为数据的jquery AJAX功能的数组:

function() { 
    var kvArray = []; 
    for (x in MyAssociativeArray) { 
     var kv = {}; 
     kv.name = "NameIWantToAssign"; 
     kv.value = x; 
     kvArray.push(kv); 
    } 

    return kvArray; 
}; 

诀窍是使用。名称和。价值性质。我计上心来阅读下面的jQuery的文档后:

如果传递的对象是一个Array,它必须是物体在()由.serializeArray返回的格式

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

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