当前位置:   article > 正文

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

ajax.php class

总共分成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,这个文件是调用其他详细的功能类的控制器,起到枢纽作用,主要是通过反射来实现

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,这个文件是详细的功能类

class LoginController {

private $result;

function LoginController() {

//初始化数据库连接等参数

}

function login($args) {

//详细的登陆逻辑

}

function getResult() {

return $this->result;

}

}

?>

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/148292
推荐阅读
相关标签
  

闽ICP备14008679号