2013-09-24 56 views
-3

我有一個java腳本的問題。這是我第一次使用JavaScript。

代碼:

$.get(url, function(data){ 

    alert("Data Loaded: " + data); 

    var obj = JSON.parse(data); 

    alert(obj.result); 
} 

服務器返回一個簡單的JSON字符串{"result":"aaaa"} 我怎樣才能提取響應這個JSON字符串? 當我運行此代碼警報顯示未定義。

+0

只需調用'obj.result'。 –

+0

馬上就有一個'{'錯配。另外順便問題是什麼?你能解釋一下嗎? – PSL

+0

您不需要用'{'開始每一行。這會導致語法錯誤,從而阻止您的代碼執行*任何操作*。在你解決這個問題之前,在處理其他任何問題時沒有多大用處。我建議你在JavaScript上找到一個體面的教程,並且在嘗試使用jQuery和/或AJAX之前,至少要掌握基本語法。 – meagar

回答

0

這個問題似乎不可重現。

JSON.parse('{"result":"aaaa"}').result 

產生「aaaa」。

做一些更多的調試是這樣的:

$.get(url, function(data){ 

    alert("Data Loaded: " + data); 

    var obj = JSON.parse(data); 

    for (key in obj) { 
     alert(key + ": " + obj[key]); 
    } 
} 

這將遍歷在返回的JSON所有的按鍵。希望你在那裏有一個名爲「result」的鍵。

0

這可能是你實際上不需要解析它。

$.get(url, function(data){ 

    alert(typeof data); // object 

    alert(data.result); // aaaaa 

}); 

沒有一個dataType被指定,jQuery.get()將默認做出一項「智能猜」和相應的解析。

如果你想自己解析它,你可以指定'text'作爲dataType

$.get(url, function(data){ 

    var obj = JSON.parse(data); 

    alert(obj.result); // aaaaa 

}, 'text'); 
相關問題