这里$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"]]