为ajax构建数组?

时间:2015-07-14 18:49:12

标签: javascript jquery

我需要通过ajax发送一个数组,但由于某种原因它不会发送,我怀疑它是由于序列化。

那么我如何创建数组以使其与ajax兼容?

我需要这种格式的数组,一个键值对,其中值是另一个数组。

[order: Array[1], type: Array[1]]

我声明我的数组是这样的:

filters = [];

如果检查输入,我将它们添加到数组中。

var order = $('input[name="order[]"]:checked').map(function(){return this.value;}).get();
if(!$.isEmptyObject(order))this.filters['order'] = order;
....

根据这个想法,如果没有选择输入,则数组为空,因此不会被ajax发送。

如何维护数组的结构,但使其与ajax兼容?

3 个答案:

答案 0 :(得分:1)

阵列不使用键值对。相反,使用一个对象。

var obj = {order: Array[1], type: Array[1]}

答案 1 :(得分:1)

我认为您需要将filters声明为对象:

filters = {};
this.filters.order = order;

答案 2 :(得分:0)

如果您正在使用jQuery,请参阅我的回答here。我有一个类似的问题。当您传递一个或多个对象时,必须使用JSON.stringify()并设置内容类型。