您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
如何在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;
}
}
?>关于如何在php中使用ajax控制所有后台函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。