您的位置:首页 > 编程语言 > PHP开发

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

2015-07-15 12:21 609 查看

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

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息