0

所以我有这段 javascript,它foo.php使用 value发布val,返回data,清空容器并调用函数graph,该函数将用新图表填充容器。

$.post("foo.php", {val: val}, function(data){
    if(data.length >0) {
        $('#container').html('');
        graph(data);
    } 
});

foo.php,我如何让它传回一个数组而不是字符串?目前我只有一个echoin foo.php,它与逗号分隔的数据相呼应,即:1,2,3,4,5. 然后在graph函数中我有一个split(',' data) 创建一个数组供以后使用。

我的意思是,这一切都很好,我只是想知道我是否可以避免拆分步骤并foo.php直接返回一个数组。

谢谢!

4

2 回答 2

3

这就是json_encode

echo json_encode( $array );

只需记住设置 JSON 标头,以便 jQuery 知道将返回的数据解析为 JSON。如果不这样做,则必须在 jQuery AJAX 调用中指定如下:

$.post("foo.php", {val: val}, function(data){
    if (data.length > 0) {
        $('#container').html('');
        graph(data);
    } 
}, 'json'); // <-- Here you're specifying that it'll return JSON
于 2013-01-24T19:11:53.760 回答
3

json_encode你的数组在 PHP 和 jquery 中可以很容易地解析你的 JSON 编码数据。

于 2013-01-24T19:11:56.827 回答