php基於ajax實現控制所有後台函數調用

來源:互聯網
上載者:User
本篇文章主要介紹php基於ajax實現控制所有後台函數調用,感興趣的朋友參考下,希望對大家有所協助。

總共分成3大部分來完成php的ajax調用邏輯,以下是大致的結構

第一部分:ajax請求:主要是action這個參數,LoginController是php的類名,login是LoginController這個類中的函數名

$('#submit').on('click', function (e) {    e.stopPropagation();    $.ajax({      url: "../../controllers/Controller.php",      data: {        action: "LoginController/login",        username: username,        password: password      },      dataType: "text",      type: 'POST',      timeout: 10000,      error: function () {        alert("伺服器逾時");      },      success: function (data) {          alert(data);      }    });  });

第二部分:Controller.php,這個檔案是調用其他具體的功能類的控制器,起到樞紐作用,主要是通過反射來實現

<?phpif (!empty($_REQUEST['action'])) {  try {    $action = explode('/', $_REQUEST['action']);    $class_name = $action[0];    $method_name = $action[1];    require $class_name . '.php';    $class = new ReflectionClass($class_name);    if (class_exists($class_name)) {      if ($class->hasMethod($method_name)) {        $func = $class->getmethod($method_name);        $instance = $class->newInstance();        $func->invokeArgs($instance, array($_REQUEST));        $result = $instance->getResult();        echo $result;      }    }  } catch (Exception $exc) {    echo $exc->getTraceAsString();  }}?>

第三部分:LoginController.php,這個檔案是具體的功能類

<?phpclass LoginController {    private $result;  function LoginController() {    //初始化資料庫連接等參數  }  function login($args) {    //具體的登入邏輯  }  function getResult() {    return $this->result;  }}?>

總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。

相關推薦:

php實現的猜單詞小遊戲

使用php問卷調查結果統計

如何利用php自動執行.sql檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.