2009-12-12 63 views
1

我正在使用jQuery來獲取一些JSON數據。我將它存儲在一個名爲「ajaxResponse」的變量中。我不能從中取出數據點;我沒有定義ajaxResponse.blah。 typeof是一個字符串。認爲它應該是一個對象。無法使用jQuery查詢JSON

var getData = function (url) { 
     var ajaxResponse = ""; 
     $.ajax({ 
     url: url, 
     type: "post", 
     async: false, 
     success: function (data) { 
       ajaxResponse = data; 
     } 
     }); 
     return ajaxResponse; 
    }, 

...

typeof ajaxResponse; // string 

ajaxResponse.blah[0].name // ajaxResponse.blah is not defined 

回答

1

確保指定選項dataType = json

$.ajax({ 
    url: url, 
    type: "post", 
    dataType: "json", 
    async: false, 
    success: function (data) { 
      ajaxResponse = data; 
    } 
    }); 
+0

aw man!謝謝:)我的壞,不知道去哪裏 – alan 2009-12-12 18:18:49

+0

這種類型是如何發佈?那會得到什麼?感謝名單 – 2011-03-27 20:29:52

0

Q8編碼器有它的權利,但給你一些細節:你的服務器實際上是將您已格式化爲JSON的字符串傳回。你需要告訴jQuery期望什麼,否則它會假定它收到一個字符串。

以下添加到您的$就選擇:

dataType: "json" 

此外,參考jQuery API的實例和文檔這些選項。