php教程

超轻量级php框架startmvc

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

更新时间:2020-03-05 04:05:43 作者:startmvc
总共分成3大部分来完成php的ajax调用逻辑,以下是大致的结构第一部分:ajax请求:主要是actio

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

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

ajax php 控制函数调用