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


Posted in PHP onJuly 15, 2015

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

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

PHP 相关文章推荐
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
PHP钩子实现方法解析
May 21 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 #PHP
php实现网页缓存的工具类分享
Jul 14 #PHP
浅谈php错误提示及查错方法
Jul 14 #PHP
浅谈php的优缺点
Jul 14 #PHP
使用URL传输SESSION信息
Jul 14 #PHP
利用“多说”制作留言板、评论系统
Jul 14 #PHP
php生成数字字母的验证码图片
Jul 14 #PHP
You might like
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
vue实现分页加载效果
2019/12/24 Javascript
Django自定义认证方式用法示例
2017/06/23 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
DJI全球:DJI Global
2021/03/15 全球购物
高中美术教学反思
2014/01/19 职场文书
七夕活动策划方案
2014/08/16 职场文书
团队会宣传标语
2014/10/09 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
网络舆情信息简报
2015/07/21 职场文书
关于幸福的感言
2015/08/03 职场文书
安全学习心得体会范文
2016/01/18 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android