2012-03-18 62 views
2

PHP(processing.php):提取值返回

$responce["x"] = 0; 
$responce["y"] = [1, 3]; 
echo json_encode($responce); 

的javascript:

$.get("processing.php", function(data){ 
    alert("Data: " + data) 
}); 

輸出(警報):

Data: {"x":0,"y":["1","3"]} 

我需要訪問的變量x和數組y在JavaScript?!!

回答

5

解析JSON字符串$.parseJSON()

然後,訪問data.x

$.get("processing.php", function(data){ 
    data = $.parseJSON(data); 
    var x = data.x; 
}); 

或者,你可以將dataType設置爲json或使用$.getJSON()它會自動執行。

+2

如果我知道返回的數據總是jSON,通常我會將'dataType'設置爲'json'。 – Luke 2012-03-18 20:35:33

+0

我剛剛添加「json」,它的工作,,,謝謝。 – 2012-03-20 10:47:41

1

使用jQuery.ajax方法,您可以將dataType屬性設置爲json。然後你可以有一個功能success: function (data) { alert (data.x + data.y); }。有關更多信息,請參閱您自己的文檔。

編輯:jQuery.getJSON()是它是你正在尋找......什麼樣子jQuery.get方法,但分析結果爲JavaScript對象。

您的代碼會比這個樣子:

$.getJSON("processing.php", function(data){ 
    var x = data.x; 
    var y = data.y; 
}); 
3

根據您的響應數據:{ 「X」:0, 「Y」: 「1」, 「3」]}

$.get("processing.php", function(data){ 
    alert(data.x); // Will alert "0" 
    alert(data.y[0]); // Will alert "1" 
    alert(data.y[1]); // Will alert "3" 
}, "json"); 
+0

非常感謝... – 2012-03-20 10:47:29