2010-08-25 232 views
1

所以,這應該是簡單的在我的腦海...我有通過Ajax後返回一個有效的JSON字符串:解析JSON字符串jQuery.parseJSON()

{"success":true,"message":"Thank you! We value your feedback."} 

而我只是想提醒我的「消息」值到我產生後回報:

success: function (result) { 
    alert(result); 
    var obj = $.parseJSON(result); 
    alert(obj.message); 
    }, 
error: function (req, status, error) { 
    alert("Sorry! We could not receive your feedback at this time."); 
    } 

我的「目標文件」屬性在某種程度上是不被認可.....我已經驗證了JSON字符串,以確保它是有效的,所以我在這裏錯過了什麼?

回答

6

你不應該需要解析你的JSON。將dataType屬性設置爲json,jQuery將爲您解析它。那麼,result本質上是你的JSON,你可以做alert(data.message);

jQuery.ajax({ 
    ... 
    dataType: "json", 
    success: function(data) { 
    alert(data.message); 
    }, 
    ... 
}); 
+0

優秀!非常感謝! – denisb 2010-08-25 19:31:10

1

在這種情況下可能發生的情況是,jQuery已經將您的結果視爲JSON對象。如果您的服務器返回MIME類型爲application/json的數據,那麼jQuery將檢測到您返回JSON並將結果設置爲JavaScript對象而不是字符串。