2011-10-11 81 views
0

我在這個名爲.js的代碼片段文件如何在AJAX中處理JSON輸出?

$(function() { 
    // KeyDates 
    var url = "http://localhost:8732/Design_Time_Addresses/Intel.IIP.MDF.WCF/ProgramCalendarService/GetKeyDatesCalendarNew"; 

    $.ajax({ 
     url: url, 
     data: null, 
     type: 'POST', 
     contentType: 'application/json', 
     dataType: 'json', 
     success: function (GetKeyDatesCalendarDataNew) { 
      alert(GetKeyDatesCalendarDataNew); 
      $(document).ajaxStop($.unblockUI); 
     } 
    }); 

}); 

我如何處理在GetKeyDatesCalendarDataNew的鍵值對?

+1

請告訴我們您的樣品JSON響應來幫助你。在一個無關的旁註中,你只需要編寫'$ .unblockUI',你幾乎就在ajaxStop階段。 – naveen

+0

你能告訴我們GetKeyDatesCalendarDataNew的數據結構嗎? –

+0

[{「EventDate」:「\/Date(1297189800000 + 0530)\ /」,「EventText」:「Lorem ipsum dolor sit amet,consectetur adipiscing elit。」,「EventType」:3,「Logos」:null}, {「EventDate」:「\/Date(1299263400000 + 0530)\ /」,「EventText」:「Lorem ipsum dolor sit amet,consectetur adipiscing elit。」,「EventType」:3,「Logos」:null}當我看到WCF方法的輸出時就像這樣。 – KeenUser

回答

1

您可能想知道如何訪問對象的道具。爲此,使用for in循環遍歷對象的值:

success: function (GetKeyDatesCalendarDataNew) { 
    for(var key in GetKeyDatesCalendarDataNew) 
     { 
      var value = GetKeyDatesCalendarDataNew[key]; 
      // do somehitng based on the key and/or value iterated 
     } 
} 
0

對於這種情況,成功函數的參數是從Ajax請求返回的評估JSON。因此,您應該重命名爲data之類的GetKeyDatesCalendarDataNew將成爲您的服務器返回的實際數據。

如果知道其結構,則只能處理數據。知道這一點的一個簡單方法是做console.log(GetKeyDatesCalendarDataNew),然後用for循環很容易地處理它,如果它是一個數組或者如果它是一個對象的話for x in..

0

您可以使用JQuery「getJSON」函數,您需要傳遞url並指定回調函數。您的ajax調用將由getJSON函數處理。在回調函數中,您可以訪問Keys作爲屬性。一個好的example

Lav G

0
$.each(GetKeyDatesCalendarDataNew,function(key,value){ 
    //do something here 
})