所以我有这段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
直接返回数组。
谢谢!
答案 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编码数据。