Javascript发布到PHP并获取一个数组?

时间:2013-01-24 19:10:35

标签: php javascript

所以我有这段javascript,它发布到foo.php,其值为val,返回data,清空容器并调用函数graph,这将填充带有新图表的容器。

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

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

我的意思是,这一切都运行正常,我只是想知道我是否可以避免分割步骤并让foo.php直接返回数组。

谢谢!

2 个答案:

答案 0 :(得分:3)

这就是json_encode的用途:

echo json_encode( $array );

请记住set JSON headers,以便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

答案 1 :(得分:3)

json_encode PHP中的数组和jquery可以轻松解析您的JSON编码数据。