就jQuery ajax调用而言,php echo和return之间的区别[关闭]

Posted

技术标签:

【中文标题】就jQuery ajax调用而言,php echo和return之间的区别[关闭]【英文标题】:Difference between php echo and return in terms of a jQuery ajax call [closed] 【发布时间】:2012-04-23 19:54:02 【问题描述】:

我无法让 jQuery Ajax 调用的成功函数正常工作,有人向我指出原因是我的 php 函数在我应该使用 echo $result 时使用了 return $result。

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

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

【讨论】:

以上是关于就jQuery ajax调用而言,php echo和return之间的区别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 的 AJAX 请求回调

输出后未编写 PHP 会话(外部 ajax 调用上的 echo 或 print_r)

尝试在页面滚动上加载帖子时出现 Ajax/Jquery/PHP 问题

如何使用 AJAX/JQuery 调用多个 PHP 脚本?

jquery ajax php 调用方法!

如何保护 PHP/JQuery/Ajax 调用?