2015-08-31 2 views
0
var mydata0 = null; 
    $.post('php/ProductionChange.php', function(data) { // This is Where 
    I use an AJAX call into a php file. 

     mydata0=data; // This takes the array from the call and puts it 
     //into 
    //a variable 
     var pa = JSON.parse(mydata0);    
     var temp = {}; 


    for (var i = 0; i < data.length-1; i++) { 

    var job=pa[i][0]; 
    var shipdate = pa[i][1]; 
    var status = pa[i][2]; 
    var name = pa[i][3]; 
    var EnclLoc = pa[i][13]; 
    var Enclsize = pa[i][14]; 
    var BackPanLoc = pa[i][15]; 
    var percentCom = pa[i][16]; 
    var isVis = pa[i][17]; 
    var png = pa[i][18]; 
    var WorkC = pa[i][20]; 
    temp={'bayData': job, shipdate, name, EnclLoc, Enclsize, BackPanLoc, 
    percentCom, isVis, png, WorkC}; 

    isVacant1.push(temp); 

* Так что я пытаюсь сделать, это принять объект, выходящий из массива ра ***динамического добавления элементов в объект из массива PHP

(0: Array[21] 1: Array[21] 2: Array[21] 3: Array[21] 4: Array[21] 5: Array[21])

, который имеет 6 различных массивов внутри из он составляет в общей сложности 816 единиц. Мои временные переменные успешно захватывают все элементы, которые я хочу, и isVacant1 успешно получает все 6 нажатий внутри него, в результате чего isVacant является массивом из 6 объектов.

Однако рассыпается, как только цикл закончен, и сообщение об ошибке я получаю

Uncaught TypeError: Cannot read property '0' of undefined** with a red x next to the first line of my code once the for loop starts **(var job=...)

Пожалуйста скажите мне шаги в решении этого вопроса. Спасибо за помощь. *

ответ

1

изменение

for (var i = 0; i < data.length-1; i++) { 

в

for (var i = 0; i <= pa.length; i++) { 

Вы итерацию по длине массива данных, но доступ в год. pa не обязательно равна той же длине, что и массив, называемый «данными».

+0

lol Я буквально поймал эту ошибку, как только я представил этот вопрос. Я рад за быстрые ответы. Спасибо, бутон. –

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