控制台中的数组[0]显示信息

Tob*_*len 2 javascript debugging console slickgrid

我正在使用平滑网格并使用订阅功能在编辑单元格时获取通知

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);
        })

    })
Run Code Online (Sandbox Code Playgroud)

a和c都在控制台中显示为空数组,但是(按图片所示)当我在控制台中查看args时,项目显示为空数组,但显示了项目

在此处输入图片说明

当数组被列为空但显示值时是什么意思。这里真正的问题是,如果我通过acargs.item进入我的回调函数格兰PHP页面没有收到任何数据。

更新

事实证明,我以错误的方式构造了数据,因此将其作为具有数据属性的空Array返回。似乎所有东西都无法很好地理解这一点-JSON,Jquery,console.log-我修复了数据结构,使每一行成为一个对象,一切都很好。

PPv*_*PvG 5

看起来Array确实是空的。您可以将命名属性赋予,Array就像可以赋予一样Object。意思就是:

console.log( item.CanPublish );  // "1"
console.log( item.length );      // 0
console.log( item[0] );          // undefined
Run Code Online (Sandbox Code Playgroud)

通常建议不要这样做,因为这会造成混乱。JavaScript没有“命名数组”之类的东西。尽量坚持使用任何一个Array 一个Object