A5下载文章资讯

分类分类

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

2015-07-15 13:36作者:fang

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

}

}

?>

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

展开全部

相关

说两句网友评论
    我要跟贴
    取消