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 相关文章推荐
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
PHP生成plist数据的方法
Jun 16 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
php微信开发之关键词回复功能
Jun 13 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 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
我的论坛源代码(十)
2006/10/09 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
PHP实现图片压缩
2020/09/09 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
Python XML RPC服务器端和客户端实例
2014/11/22 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
Python selenium文件上传方法汇总
2020/11/19 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Python dict的常用方法示例代码
2020/06/23 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
应届毕业生个人自荐信范文
2013/11/30 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
承诺书模板
2014/08/30 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
辅导员学期工作总结
2015/08/14 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android