2015-12-14 44 views
0

为什么哦为什么?我试图从HTML页面中创建并反映所有复选框状态和ID的内容。 为什么我的数据未定义?Django JS TypeError:data.data未定义

function attachskillls(){ 

    var data = {} 

    $(".checkbox").each(function(){ 
     var obj = {} 
     obj[this.id] = $(this).prop('checked') 
     data['data'].push(obj) 
    }) 

    $.ajax({ 
     type: "POST", 
     url: "/api/skill/attch/", 
     data: JSON.stringify(data), 
    }) 
} 
+0

检查你的控制台,确定你将会在这个data ['data']。push(obj)'行中得到错误。 – Achu

+0

是的,但我知道,我想知道它有什么问题 – SpeedyH30

+0

'data ['data']'你还没有初始化它作为一个数组,所以你如何执行push操作。所以你需要做一些像'if(data.hasOwnProperty('data'))data.data.push(obj); } else { data ['data'] = []; data.data.push(obj); }' – Achu

回答

0

你已经宣布的数据为对象

var data = {} 

现在,你通过复选框迭代以及执行该

data['data'].push(obj) 

数据[“数据”]是不是数组这样的数据['data']。push将失败。

要做到这一点,你可以做这样的事情

var data = {}; 
data['data'] = [] 

这确保了数据[“数据”]是一个空数组。然后遵循其余的代码。

希望你现在了解这个问题。

+0

闪闪发光,非常感谢 – SpeedyH30

+0

只是为了解决为什么现在没有数据被放入,它的所有好哈哈 – SpeedyH30