What& #39;s类型的数据成功:函数(数据)


what's type for data in success: function(data)?

这里$fruit由js_encode()编码并在ajax中发送回数据。我的问题是什么数据类型的数据是(字符串或数组)?提前感谢!

$.ajax({
                                type:"post",
                                dataType:"json",
                                url:"phpFile.php",
                                success: function(data) {

                                }
                          });
<?php
    $fruits = array(array("1","apple"),array("2","pear"));
    echo js_encode($fruits);
?>

您指定响应的数据类型为json。jQuery将尝试自动将数据解码为JSON,并将生成的JavaScript数据类型传递给回调。所以data可以是

字符串, , 布尔, null , 对象数组

在您的特定情况下,您将PHP数组编码为JSON,因此结果将是一个数组。

不会有什么。成功方法将永远不会触发,因为PHP将错误地使用Fatal error: Call to undefined function js_encode(),这将返回一个500错误,所以jQuery将触发error函数(如果它存在)而不是success函数。

如果您要修复PHP并使用json_encode,那么它将输出带有顶级数组的JSON,因此data将是一个数组。

注意,你还应该确保你的脚本没有声明JSON是HTML。

header('Content-Type: application/json');

data变量将包含以下内容:[["1","apple"],["2","pear"]]