首页 > 网站 > 建站经验 > 正文

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

2024-04-25 20:39:11
字体:
来源:转载
供稿:网友

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

}

}

?>

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

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