当前位置: 移动技术网 > IT编程>开发语言>PHP > ajax+php控制所有后台函数调用

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

2018年05月11日  | 移动技术网IT编程  | 我要评论

华中科技大学物理实验预约系统,枢木朱雀和尤菲,喜爱夜蒲 连诗雅

总共分成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['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,这个文件是具体的功能类

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网