当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-12 19:52:35 浏览: 评论:0 

总共分成3大部分来完成php的ajax调用逻辑,以下是大致的结构,第一部分:ajax请求:主要是action这个参数,LoginController是php的类名,login是LoginController这个类中的函数名

  1. $('#submit').on('click'function (e) { 
  2.     e.stopPropagation(); 
  3.     $.ajax({ 
  4.       url: "../../controllers/Controller.php"
  5.       data: { 
  6.         action: "LoginController/login"
  7.         username: username, 
  8.         password: password 
  9.       }, 
  10.       dataType: "text"
  11.       type: 'POST'
  12.       timeout: 10000, 
  13.       error: function () { 
  14.         alert("服务器超时"); 
  15.       }, 
  16.       success: function (data) { 
  17.           alert(data); 
  18.       } 
  19.     }); 
  20.   }); 

第二部分:Controller.php,这个文件是调用其他具体的功能类的控制器,起到枢纽作用,主要是通过反射来实现

  1. <?php 
  2.  
  3. if (!emptyempty($_REQUEST['action'])) { 
  4.   try { 
  5.     $action = explode('/'$_REQUEST['action']); 
  6.     $class_name = $action[0]; 
  7.     $method_name = $action[1]; 
  8.     require $class_name . '.php'
  9.     $class = new ReflectionClass($class_name); 
  10.     if (class_exists($class_name)) { 
  11.       if ($class->hasMethod($method_name)) { 
  12.         $func = $class->getmethod($method_name); 
  13.         $instance = $class->newInstance(); 
  14.         $func->invokeArgs($instancearray($_REQUEST)); 
  15.         $result = $instance->getResult(); 
  16.         echo $result
  17.       } 
  18.     } 
  19.   } catch (Exception $exc) { 
  20.     echo $exc->getTraceAsString(); 
  21.   } 
  22. ?> 

第三部分:LoginController.php,这个文件是具体的功能类

  1. <?php 
  2. class LoginController { 
  3.    
  4.   private $result
  5.   function LoginController() { 
  6.     //初始化数据库连接等参数 
  7.   } 
  8.   function login($args) { 
  9.     //具体的登录逻辑 
  10.   } 
  11.   function getResult() { 
  12.     return $this->result; 
  13.   } 
  14. ?> 

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

Tags: ajax+php php后台函数

分享到: