首頁  >  文章  >  web前端  >  ajax+php控制函數呼叫步驟詳解

ajax+php控制函數呼叫步驟詳解

php中世界最好的语言
php中世界最好的语言原創
2018-04-25 15:54:512014瀏覽

這次帶給大家ajax php控制函數呼叫步驟詳解,ajax php控制函數呼叫的注意事項有哪些,下面就是實戰案例,一起來看一下。

總共分成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中文網其它相關文章!

推薦閱讀:

JS實作ajax呼叫後台定義(附程式碼)

ajax實作瀑布流佈局步驟詳解(附程式碼)

以上是ajax+php控制函數呼叫步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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