我的问题是
jQuery.ajax({
type: "POST",
url: "../ajax/si-notificar_investigacion.php",
data: {
idincidente: $("#idincidente").val(),
arrControlls : arrControlls
},
dataType: 'json',
async: false,
success: function(datos) {
alert(datos);
}
});
这是我的ajax
现在我使用arrControlls
变量作为数组,它来自另一个函数
现在如果arrControlls
像
[0] = "test1";
[1] = "test1";
[2] = "test1";
那么我可以在动作页面中将这个变量作为数组
但是如果我使用像这个这样的值
['sid_1'] = "test1";
['sid_2'] = "test1";
['sid_3'] = "test1";
那么我在操作页中没有变量为什么?
添加此行以获得更多详细信息
我正在使用jquery函数来获取数据
function getAllControllValue()
{
var arrControlls = new Array();
$("#container-div input").each(function(){
arrControlls[$(this).attr('id')] = $(this).val();
});
return arrControlls;
}
数组应该具有连续的数字索引。这就是他们的目的。您可以为它们指定命名属性,但设计用于处理数组中数据的工具往往会忽略它们。
给定data
中任意位置的数组,jQuery将只关注数字索引。
如果要使用命名键,请使用普通对象。
用{}
而不是new Array()
初始化arrControlls
。
用户JSON.stringify如下:JSON.stringify(arrControlls)
jQuery.ajax({
type: "POST",
url: "../ajax/si-notificar_investigacion.php",
data: {
idincidente: $("#idincidente").val(),
arrControlls : JSON.stringify(arrControlls)
},
dataType: 'json',
async: false,
success: function(datos) {
alert(datos);
}
});