首頁 >後端開發 >php教程 >php基於ajax實作控制所有後台函數調用

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

墨辰丷
墨辰丷原創
2018-06-08 16:49:581407瀏覽

本篇文章主要介紹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,這個檔案是呼叫其他特定的功能類別的控制器,起到樞紐作用,主要是透過反射來實現

<?php

if (!empty($_REQUEST[&#39;action&#39;])) {
  try {
    $action = explode(&#39;/&#39;, $_REQUEST[&#39;action&#39;]);
    $class_name = $action[0];
    $method_name = $action[1];
    require $class_name . &#39;.php&#39;;
    $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,這個檔案是具體的功能類別

<?php
class LoginController {
  
  private $result;
  function LoginController() {
    //初始化数据库连接等参数
  }
  function login($args) {
    //具体的登录逻辑
  }
  function getResult() {
    return $this->result;
  }
}
?>

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

相關推薦:

php實現的猜單字小遊戲

使用php問卷調查結果統計

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

#

以上是php基於ajax實作控制所有後台函數調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn