php - Javascript post 到 PHP 并返回一个数组?

标签 php javascript

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

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

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

我的意思是,所有这些工作正常,我只是想知道是否可以避免分割步骤并让 foo.php 直接返回一个数组。

谢谢!

最佳答案

这就是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

关于php - Javascript post 到 PHP 并返回一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508888/

相关文章:

javascript - 正则表达式: ignore html tags

php - cakephp 使用 Between 进行高级过滤

javascript - Carousal - 显示元素高度动态

java - javaScript 需要非法 Java?有人可以解释一下variableInput 示例的这一部分吗?

javascript - jQuery获取CUT的值

php - 中间带有 <div> 标签的 Laravel 表单

php - 从index.php到detail.php

php - 在某些 Controller 上运行某些代码的最佳方式 - Laravel 5

javascript - PHP 表单提交无需重新加载

javascript - undefined variable ,在渲染方法 React 的 if/else 内部分配