Javascript 控制台中显示信息的数组[0]
我正在使用slick grid,并使用订阅函数在编辑单元格时获取通知Javascript 控制台中显示信息的数组[0],javascript,debugging,console,slickgrid,Javascript,Debugging,Console,Slickgrid,我正在使用slick grid,并使用订阅函数在编辑单元格时获取通知 grid.onCellChange.subscribe(function (e,args) { console.log(args); var a = data[args.row]; // var b = args.grid.getItem(args.row); var c = args.item; console.log(a);
grid.onCellChange.subscribe(function (e,args) {
console.log(args);
var a = data[args.row];
// var b = args.grid.getItem(args.row);
var c = args.item;
console.log(a);
// console.log(b);
console.log(c);
console.log("Field Edited:"+ cols[args.cell ].field);
$.post('action_updaterow.php',{'args[]':c},function (data){
alert(data);
})
})
a和c在控制台中都显示为空数组,但是(如图所示)当我查看控制台中的args时,项目显示为空数组,但项目显示为空数组
当数组列为空但显示值时,这意味着什么。这里真正的问题是,如果我将a
、c
或args.item
传递到我的回调函数中,php页面不会接收任何数据
更新
事实证明,我以错误的方式构造了数据,因此它被返回为一个空数组,其中包含数据的属性。JSON、Jquery、console.log似乎没有很好地理解这一点,我修复了数据结构,使每一行都成为一个对象,一切正常。看起来数组确实是空的。您可以将命名属性赋予
数组
,就像赋予对象
一样。这意味着:
console.log( item.CanPublish ); // "1"
console.log( item.length ); // 0
console.log( item[0] ); // undefined
一般建议不要这样做,因为这会造成混乱。JavaScript没有“命名数组”这样的东西。尝试使用数组
或对象