我正在编写一个返回数据库结果的函数。
return
如果该函数是从另一个函数调用的,echo
而数据是通过 AJAX 调用的,我需要它来处理数据。
可能的解决方案
- 传入一个参数...
if($echo) echo $data; else return $data;
- 分离功能...
function employees_ajax() { echo $this->employees(); }
我更喜欢更智能的东西,它可以检测到“自身”是从另一个函数调用的,return
而不是echo
.
更新
另一种可能性是检查 $_SERVER 变量。
“据我所知,X-Requested-With 是由大多数主要框架的 Ajax 功能发送的,但不是全部......可以肯定地说,它通常不是 100% 可靠的方法来确定请求是否是 AJAX 请求或不。”
$_SERVER['HTTP_X_REQUESTED_WITH'] 是否存在于 PHP 中?
依赖服务器而不是客户端/ js 框架将是故障安全的。
更新 2:结果
function employees($id = NULL, $return = FALSE) {
.
.
.
if($return === TRUE) return json_encode($data);
else echo json_encode($data);
}