2015-12-14 83 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