2017-01-10 11 views
0

ajaxオブジェクトの処理に苦労しています。私は各オブジェクトをループし、各オブジェクトから各データ値を出力しようとしています。JQuery ajaxの成功オブジェクトデータの処理

AJAX呼び出し:

$.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); 
    } 

})。

とconsole.logsは未定義のまま投げていますか?

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受信データIM:

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

多分基本的なデバッグスキルを学ぶので、スタックして実行する必要はありません。あなたのデータの構造について確信が持てないときは毎回verfow –

+0

'console.log(data)' –

+0

冗談なし、私は笑をデバッグする方法を知っています – Charles

答えて

0

を試してみてください。

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

'$ .each(data.PagedData、...)' @daveの答えの例を試してください。完璧に動作します。 – Leigh

1

を使用すると、ネストされた$.each()ループを必要とする理由私は表示されません。データ構造が深遠すぎるまた、コールバック関数に第2の値のパラメータを与えるのではなく、なぜインデックスを使用しているのか分かりません。次のことを試してみてください。

$.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

は、これは、バック未定義投げている: オブジェクト{トータル:3、PagedData:配列[3]} 未定義 [オブジェクト、オブジェクト、オブジェクト] 未定義 – Charles

+0

[OK]を、あなたのようなロースが適切にあなたのオリジナルのポストを編集しました。私は私の答えをいくつか編集します。 – dave

0

あなたはあなたのデータを言うようです:

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 

ので、私はループのための単純なを使用して問題を修正し

$.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

Returns Undefined – Charles

+0

あなたの質問を成功の結果で更新してください。function(data){console.log(data); }問題を見つけるのに役立つでしょう – codenut

+0

いいえ私は先に進み、質問を更新しました – Charles

関連する問題