从JSON Ajax返回值中提取

时间:2012-03-18 20:22:24

标签: php javascript jquery ajax json

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"]}

我需要在javascript中访问变量x和数组y?!!

3 个答案:

答案 0 :(得分:5)

使用$.parseJSON()解析JSON字符串。

然后,访问data.x

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

或者,您可以将dataType设置为json或使用$.getJSON()自动执行此操作。

答案 1 :(得分: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");

答案 2 :(得分: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;
});