我有一个包含查询/ ajax函数的网页,这样当文本框完成时,会运行一个php文件,自动填充表单中的其他输入。
在我运行的php文件中,我最初使用return
将适当的数据发送到jquery / ajax函数。但是,这不起作用。我发现它只适用于echo
。
阅读了return
和echo
之后,我认为它与查询/ javascript是客户端语言有关,因此请求来自需要{{1}的浏览器而不是echo
。
是这种情况 - 任何人都可以更有帮助地解释为什么返回不工作,以及什么时候应该使用它们。
答案 0 :(得分:2)
return
将数据返回给调用者。这是一种完全内部于PHP的机制,它不会产生任何输出。
通过AJAX调用PHP脚本,您正在发出HTTP请求。返回值将是 HTTP响应。你永远不会通过AJAX调用“PHP函数”,你就像任何其他网站一样发出HTTP请求。只有输出将出现在HTTP响应中。 echo
生成输出,return
没有。
只需直接在浏览器中打开URL,使用浏览器网络检查工具或手动使用curl左右发出请求,即可查看原始请求和响应。没有什么魔力,它只是HTTP。
答案 1 :(得分:1)
让我们暂时忽略JavaScript;这不是问题。
PHP是一种专注于生成文本的语言。它专注于生成文本,它实际上默认将文本从输入复制到输出;只有当你吟唱神奇的咒语<?php
时才真正开始真正的工作。
由于它是以输出为中心的,你可能会想到它有一种简单的方法可以将一些文本发送到它的输出,你就是对的:它被称为echo
。 echo
输出数据。
当然,大多数现代编程语言都有功能。函数可以返回值。当然,函数可能想要输出一些数据和返回一个值也是有意义的。 return
会返回函数中的值。
答案 2 :(得分:0)
返回仅适用于在服务器端的函数之间传递数据。另一方面,必须回应发送到浏览器的数据。
答案 3 :(得分:0)
return
用于将函数中的值返回给调用代码。它在PHP脚本中传递值。
echo
将其参数输出到输出缓冲区,输出缓冲区又发送到浏览器。