首页 > 开发 > PHP > 正文

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

2024-05-04 23:37:49
字体:
来源:转载
供稿:网友

这篇文章主要介绍了ajax+php控制所有后台函数调用的相关资料,需要的朋友可以参考下

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

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

 

 
  1. <?php 
  2.  
  3. if (!empty($_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($instance, array($_REQUEST)); 
  15. $result = $instance->getResult(); 
  16. echo $result; 
  17. catch (Exception $exc) { 
  18. echo $exc->getTraceAsString(); 
  19. ?> 

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

 

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表