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

时间:2012-07-14 09:44:11

标签: 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);
        })

    })

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

enter image description here

当数组列为空但显示值时,这意味着什么。这里真正的问题是,如果我将acargs.item传递给我的回调函数,那么php页面不会收到任何数据。

更新

事实证明,我以错误的方式构建了数据,因此它被返回为具有数据属性的空数组。这似乎没有被任何东西理解得很好--JSON,Jquery,console.log - 我修复了数据结构,使每一行成为一个对象,一切都很好。

1 个答案:

答案 0 :(得分:5)

看起来Array确实是空的。您可以像Array一样将命名属性提供给Object。这意味着:

console.log( item.CanPublish );  // "1"
console.log( item.length );      // 0
console.log( item[0] );          // undefined

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