gpt4 book ai didi

PHP 和 AJAX 函数根据调用返回或回显

转载 作者:行者123 更新时间:2023-12-04 05:43:31 25 4
gpt4 key购买 nike

我正在编写一个将返回数据库结果的函数。

我需要它到 return如果从另一个函数调用该函数,则数据和 echo通过 AJAX 调用时的数据。

可能的解决方案

  • 传入一个参数... if($echo) echo $data; else return $data;
  • 单独的功能... function employees_ajax() { echo $this->employees(); }

  • 我更喜欢更智能的东西,它可以检测到“自身”是从另一个函数调用的,并且 return而不是 echo .

    更新

    另一种可能性是检查 $_SERVER 变量。

    “据我所知,X-Requested-With 是由大多数主要框架的 Ajax 函数发送的,但不是全部......可以肯定地说,它通常不是确定请求是否为 AJAX 请求的 100% 可靠的方法或不。”

    Does $_SERVER['HTTP_X_REQUESTED_WITH'] exist in PHP or not?

    依靠服务器而不是客户端/js 框架是安全的。

    更新 2:结果
    function employees($id = NULL, $return = FALSE) {

    .
    .
    .
    if($return === TRUE) return json_encode($data);
    else echo json_encode($data);
    }

    最佳答案

    试着给你的 employees函数一个可选标志:

    function employees ($shouldEchoResult = true) {

    if ($shouldEchoResult) {
    echo $result;
    }
    else {
    return $result;
    }

    }

    如果它是用 AJAX 调用的,不要设置标志。否则,在您的代码中,使用 categories(false) .这是我能想到的唯一其他解决方案。 PHP 没有像 Ruby 那样内置任何东西。

    关于PHP 和 AJAX 函数根据调用返回或回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10982737/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com