我的问题是
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";
然后它是okey我将此变量作为操作页面中的数组
BUT 如果我使用像这样的价值
['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;
}
答案 0 :(得分:2)
阵列应该具有连续的数字索引。这就是它们的用途。您可以为它们指定命名属性,但设计用于对数组中的数据执行某些操作的工具往往会忽略它们。
给定data
中的任何数组,jQuery只会关注数字索引。
如果您想要命名密钥,请使用普通对象。
使用arrControlls
而非{}
初始化new Array()
。
答案 1 :(得分:-1)
用户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);
}
});