2011-05-26 59 views
1

我知道這個問題可能顯得過於本地化,但我似乎無法得到這個工作。使用jQuery解析JSON。每個方法不起作用

這裏是JSON我的方法的返回值:

{ "dateTime" : "5/26/2011", 
    "requestTime" : 0.1020102, 
    "users" : [ { "Email" : "[email protected]", 
     "Location" : "home", 
     "Name" : "Joe M", 
     "UserId" : "42a7eae4-d4fe-49a3-93df-cd0cf219ac95" 
     }, 
     { "Email" : "[email protected]", 
     "Location" : "Work", 
     "Name" : "Test Name", 
     "UserId" : "97a444fb-6e3d-482c-a966-dbd3e0c739c8" 
     } 
    ] 
} 

jQuery的我使用的是像這樣:

$.ajax({ 
type: "POST", 
url: "Home/GetUsers", 
data: dataString, 
success: function (data) {      
    $.each(data.users, function(i, item) { 
      $("#results").append('<p>' + item.Name + '</p>'); 
    }); 
} 

我要麼得到不確定的,或者什麼也不會發生。

我得到Object對象,如果我做了一個警報(數據),所以我知道它正在返回一些東西。

顯然我在這裏做錯了什麼,所以任何幫助將不勝感激。

謝謝!

+0

哪種方法,你打電話來想數據?您可能需要手動將數據轉換爲對象。 – R0MANARMY 2011-05-26 21:14:39

+0

只是一個REST風格的方法在asp.net mvc – 2011-05-26 21:15:44

+0

我的意思是你使用哪種jquery方法來進行調用? – R0MANARMY 2011-05-26 21:16:43

回答

1

警報(data.users)顯示你不確定? 嘗試增加數據類型:「文本」,然後執行警報(數據),並檢查你得到正確的JSON:/

這是爲我工作:

var data = { "dateTime" : "5/26/2011", 
      "requestTime" : 0.1020102, 
      "users" : [ { "Email" : "[email protected]", 
       "Location" : "home", 
       "Name" : "Joe M", 
       "UserId" : "42a7eae4-d4fe-49a3-93df-cd0cf219ac95" 
       }, 
       { "Email" : "[email protected]", 
       "Location" : "Work", 
       "Name" : "Test Name", 
       "UserId" : "97a444fb-6e3d-482c-a966-dbd3e0c739c8" 
       } 
      ] 
      }; 
$(data.users).each(function(i, item) { 
    $("#results").append('<p>' + item.Name + '</p>'); 
}); 
+0

必須是別的,因爲我做了一個警報(data.users)時不確定。 – 2011-05-26 21:39:39

+0

將dataType設置爲'text'後,對數據(而不是data.users)執行alert(),以便可以看到完整的結果。 – ezakto 2011-05-26 21:47:18

1

您也可以嘗試做這樣的事情:

$.post('Home/GetUsers', dataString, function(result) { 
    $(result.users).each(function(i, item){ 
      $('#results').append('<p>'+item.Name+'</p>'); 
      }); 
    },'json' 
});