2015-12-14 3 views
0

Почему ах Почему? Я пытаюсь создать и объект с содержимым всех статусов флажка и идентификаторов с HTML-страницы, которую у меня есть. Почему мои данные не определены?Django JS TypeError: data.data undefined

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.push (obj); } ' – Achu

ответ

0

Вы заявившая данные как объект

var data = {} 

Теперь вы перебор флажков и выполнение этого

data['data'].push(obj) 

данные [ «данные»] не является массив так данных ['data']. push не удастся.

Для достижения этой цели, вы могли бы сделать что-то вроде этого

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

Это гарантирует, что данные [ «данные»] является пустым массивом. Затем следует остальная часть кода.

Надеюсь, вы сейчас поняли проблему.

+0

Gleaming, Большое спасибо – SpeedyH30

+0

только что придумал, почему данные сейчас не вставляются и все его хорошие ха-ха – SpeedyH30

Смежные вопросы