php echo 和 return 在 jQuery ajax 调用方面的区别



我在让 jQuery Ajax 调用的成功函数正常工作时遇到了问题,有人向我指出原因是我的 PHP 函数在我应该使用回显$result时使用返回$result。

将 Ajax 调用的 PHP 函数从"return $result"更改为"echo $result"解决了这个问题,但为什么呢?关于两者(返回和回显)在 PHP 脚本方面的区别有很多解释,但是当将该值发送到 Ajax 调用时,它们有何不同?

好吧,ajax 调用从服务器读取响应,并且该响应必须呈现为某种类型的可读数据,例如 application/jsontext/html

为了写入该数据,您需要使用 PHP 从服务器echo它。

return 语句不写入数据,它只是在服务器级别返回。

Ajax 调用使用 HTTP 请求的响应。PHP 脚本不是通过 retur 生成输出,而是通过回显来生成输出。

Ajax 调用以与我们相同的方式查看数据,它将其读取为字符串。它基本上是访问另一个网页并"接收"结果。PHP 的"return"只返回服务器上的值。您需要实际输出数据,以便在进行 Ajax 调用时,它正在查看的页面实际上已写出数据。

echo 命令将数据输出到 Standar Output,这是在 Web 浏览器应用程序中,请求数据的客户端。在 CLI 中,这会在控制台上打印数据。return命令以值退出函数,但不打印任何内容。

如果要在PHP函数之间进行通信,则必须使用return。但是如果要输出一些数据,则必须使用 echo .

最新更新