首页 > 开发 > PHP > 正文

ajax+php控制所有后台函数调用

2024-05-04 22:35:53
字体:
来源:转载
供稿:网友

总共分成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;  }}?>

意思所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表