2017-01-10 2 views
0

Ich habe eine harte Zeit mit dem Umgang mit dem Ajax-Objekt zurück. Ich versuche, jedes Objekt zu durchlaufen und jeden Datenwert von jedem Objekt auszugeben.Umgang mit JQuery Ajax-Erfolg Objektdaten

Ajax-Aufruf:

$.ajax({ 
    type: "POST", 
    url: "sample.url", 
    data: JSON.stringify(SDdata), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(data) { 

    console.log(data) 

    $('#SD_Title').html(data.PagedData[1].SD_Plan_Name); 
    $.each(data, function() { 
     $.each(data, function(index) { 
     console.log(data.PagedData[index].SD_Plan_Name); 
     $('#SD_Content').html(data.PagedData[index]); 
     }); 
    }); 

    }, 
    failure: function(errMsg) { 
     alert(errMsg); 
    } 

});

zu console.logs weiter werfen undefiniert ??

Die Daten im Empfangs

Array[3] 
    0:Object 
    SD_Plan_CreatedDate : "11/01/2016" 
    SD_Plan_ID : 15 
    SD_Plan_Name : "Jeff Harris D1 Replacement" 
    SD_Plan_Status : 3 
    SD_Plan_TotalCost : 75219.56 
    SD_Plan_UnitCount : 268 
    1:Object 
    2:Object 

EDIT 1:

Console.log(data) output 

    Object 
    PagedData:Array[3] 
     0:Object 
     SD_Plan_CreatedDate:"11/01/2016" 
     SD_Plan_ID:15 
     SD_Plan_Name:"Jeff Harris D1 Replacement" 
     SD_Plan_Status:3 
     SD_Plan_TotalCost:75219.56 
     SD_Plan_UnitCount:268 
     __proto__:Object 
     1:Object 
     2:Object 
     length:3 
     __proto__:Array[0] 
    Total:3 
    __proto__:Object 
+1

Vielleicht lernst du einige grundlegende Debugging-Fähigkeiten, damit du nicht zum Stack o rennen musst Verfow jedes Mal, wenn Sie nicht sicher über die Struktur Ihrer Daten sind –

+0

'console.log (Daten)' –

+0

kein Scherz, ich weiß, wie man debuggt lol – Charles

Antwort

0

ich das Problem korrigiert, um eine einfache for-Schleife:

for(var i = 0; i < data.PagedData.length; i++){ 
    console.log(data.PagedData[i].SD_Plan_Name); 
} 
+0

Versuchen Sie die '$ .Each (data.PagedData, ...)' Beispiel @dave 's Antwort. Funktioniert perfekt. – Leigh

1

Ich sehe nicht, warum Sie verschachtelte $.each() Schleifen benötigen. Sie geraten zu tief in die Datenstruktur. Ich verstehe auch nicht, warum Sie den Index verwenden, anstatt der Rückruffunktion den zweiten Wertparameter zu geben. Versuchen Sie Folgendes:

$.ajax({ 
    type: "POST", 
    url: "sample.url", 
    data: JSON.stringify(SDdata), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(data) { 

    $('#SD_Title').html(data.PagedData[1].SD_Plan_Name); 
    console.log(data.PagedData); // make sure you've got good data 
    $.each(data.PagedData, function(index, value) { 
     console.log(value); // look at the value of a single item in the array 
     console.log(value.SD_Plan_Name); // If the data structure is correct this should be the value you're looking for 
     $('#SD_Content').html(value); 
    }); 
}, 
failure: function(errMsg) { 
    alert(errMsg); 
} 
+0

Dies wirft zurück undefined: Objekt {Total: 3, PagedData: Array [3]} undefined [Objekt, Objekt, Objekt] undefined – Charles

+0

Ok, loos wie Sie haben entsprechend Ihrer ursprünglichen Beitrag bearbeitet. Ich werde einige Änderungen an meiner Antwort vornehmen. – dave

0

, wie Sie sagen, dass Sie Daten:

Object 
    PagedData:Array[3] 
     0:Object 
     SD_Plan_CreatedDate:"11/01/2016" 
     SD_Plan_ID:15 
     SD_Plan_Name:"Jeff Harris D1 Replacement" 
     SD_Plan_Status:3 
     SD_Plan_TotalCost:75219.56 
     SD_Plan_UnitCount:268 
     __proto__:Object 
     1:Object 
     2:Object 
     length:3 
     __proto__:Array[0] 
    Total:3 
    __proto__:Object 

so versuchen

$.ajax({ 
    type: "POST", 
    url: "sample.url", 
    data: JSON.stringify(SDdata), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(data) { 

    $.each(data.PagedData, function(index, value) { 

     $.each(value, function(index1 , value1) { 
     console.log(value1);// each value wll be printed like "11/01/2016" then 15 and so on 
    }); 

    }); 

    }, 
    failure: function(errMsg) { 
     alert(errMsg); 
    } 
}); 
+0

Rückgabe Undefiniert – Charles

+0

Könnten Sie bitte Ihre Frage mit Erfolgsergebnissen aktualisieren: function (data) {console.log (data); } es wird hilfreich sein bei der Suche nach dem Problem – codenut

+0

okay, ich ging voran und aktualisiert die Frage – Charles

Verwandte Themen