45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:ajax+php如何实现控制所有后台函数?

ajax+php如何实现控制所有后台函数?

2015-08-02 05:41:05 来源:www.45fan.com 【

ajax+php如何实现控制所有后台函数?

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

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


本文地址:http://www.45fan.com/bcdm/16454.html
Tags: 控制 ajax+php 后台
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部