データベースの結果を返す関数を書いています。
return
関数が別の関数から呼び出された場合echo
はデータに、AJAXを介して呼び出された場合はデータに必要です。
可能な解決策
- パラメータを渡します...
if($echo) echo $data; else return $data;
- 個別の機能...
function employees_ajax() { echo $this->employees(); }
'itself'が。return
の代わりに別の関数から呼び出されたことを検出できる、よりスマートなものが必要ですecho
。
アップデート
もう1つの可能性は、$_SERVER変数をチェックすることです。
「私が知る限り、X-Requested-Withはほとんどの主要なフレームワークのAjax関数によって送信されますが、すべてではありません...リクエストがAJAXリクエストであるかどうかを判断するのは一般的に100%信頼できる方法ではないと言っても過言ではありません。か否か。"
$ _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);
}