Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过AJAX返回PHP数组,无需json_编码_Php_Jquery_Ajax_Json - Fatal编程技术网

通过AJAX返回PHP数组,无需json_编码

通过AJAX返回PHP数组,无需json_编码,php,jquery,ajax,json,Php,Jquery,Ajax,Json,只是我遇到了一个小怪癖,我想我一定是遗漏了什么,所以我想澄清一下,以进一步了解我的代码到底发生了什么 我通过jQueryAjax发布了一个表单,表单由PHP处理,在PHP中我有一行 return $status; $status是一个包含多个值的数组,即$status['username']='admin' AJAX数据类型设置为“JSON”,但我没有使用echo JSON_encode$status;在我的PHP中,但一切仍在运行,我的$status数组在AJAX成功后由jQuery处理。为

只是我遇到了一个小怪癖,我想我一定是遗漏了什么,所以我想澄清一下,以进一步了解我的代码到底发生了什么

我通过jQueryAjax发布了一个表单,表单由PHP处理,在PHP中我有一行

return $status;
$status是一个包含多个值的数组,即$status['username']='admin'


AJAX数据类型设置为“JSON”,但我没有使用echo JSON_encode$status;在我的PHP中,但一切仍在运行,我的$status数组在AJAX成功后由jQuery处理。为什么会这样?我以为需要json_encode,但似乎不是。使用json_encode,但在这个函数中,您会看到

  return $status;

在它上面,您可以在浏览器中查看开发人员工具,然后查找ajax请求,查看内容响应。要查找json_encode,请搜索调用此函数的位置。

很抱歉,我犯了一个愚蠢的错误,我的函数确实返回了$status,但它正在将它返回给另一个执行json_encode的函数。谜团解开了:谢谢。

真是个谜。没有编码阵列,没有回声,你确定一切都正常吗?是的,它确实正常,我可以让$status中的任何值在jQuery中的警报消息中弹出。如果没有上下文“where”,输出实际上是回显的/输出,这将仍然是一个谜,我们只能在尝试使用JavaScription解析它时始终使用json_encode。如果您向我们展示用于返回$status的数组和函数,这也会有所帮助