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

总共分成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
控制函数调用
ajax调用接口实例、ajax调用action实例、ajax调用实例、ajax调用php函数、ajax success调用函数,以便于您获取更多的相关知识。

时间: 2024-10-27 10:52:46

ajax+php控制所有后台函数调用_php实例的相关文章

PHP+jQuery+Ajax实现用户登录与退出_php实例

用户登录与退出功能应用在很多地方,而在有些项目中,我们需要使用Ajax方式进行登录,登录成功后只刷新页面局部,从而提升了用户体验度.本文将使用PHP和jQuery来实现登录和退出功能. 准备数据库 本例我们使用Mysql数据库,创建一张user表,表结构如下: CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(30) NOT NULL COMMENT '用户名', `password` v

PHP+Ajax实现验证码的实时验证_php实例

PHP的图像处理功能强大,做一张验证码图片也是非常简单的,但是,在实现实时验证时,确遇到了一个难题: 我用nat123对我的电脑上的网站进行端口映射,实现了在外网访问,本来是采用cookie的方式用js对验证码进行验证,但是经检验发现nat123虽然使我的网站可以通过一个自定义的网址进行访问,但是产生验证码的php文件在网络上的位置竟然和其它页面不在一个域,经查询得知,因为输出图片的缘故,被作为缓存文件映射在了某个文件夹内,所以--其他页面在我的网址下,产生验证码的页面又在另一个网址里,所以它们

Yii框架结合sphinx,Ajax实现搜索分页功能示例_php实例

本文实例讲述了Yii框架结合sphinx,Ajax实现搜索分页功能的方法.分享给大家供大家参考,具体如下: 效果图: 控制器: <?php namespace backend\controllers; use Yii; use yii\web\Controller; use yii\data\Pagination; use SphinxClient; use yii\db\Query; use yii\widgets\LinkPager; use backend\models\Goods; cl

PHP+AJAX实现投票功能的方法_php实例

本文实例讲述了PHP+AJAX实现投票功能的方法.分享给大家供大家参考.具体如下: 在这个 AJAX 实例中,我们将演示一个投票程序,网页在不重新加载的情况下,就可以获得结果. 本例包括四个元素: ① HTML 表单 ② JavaScript ③ PHP 页面 ④ 存放结果的文本文件 一.HTML 表单 这是 HTML 页面.它包含一个简单的 HTML 表单,以及一个与 JavaScript 文件的连接: <html> <head> <script src="pol

ThinkPHP中使用ajax接收json数据的方法_php实例

本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先需要引入jquery.js,主要代码如下: 复制代码 代码如下: function ajax(id,pic){     //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义. var URL='__URL__';         $.ajax({     

PHP登录(ajax提交数据和后台校验)实例分享

1.前台ajax数据提交 <form id="login_form" action="" method="POST"> <div class="login_frame" style="position:relative";> <div class="login_gl" style="margin-top:35px;"> <sp

ajax实现无刷新分页(php)_php实例

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>投票结果</title> <meta http-equiv="content-type" content=&quo

PHP基础学习之流程控制的实现分析_php实例

PHP 有三大流程控制:顺序控制,分支控制,循环控制. 1.顺序控制:就是程序按顺序从上往下一步一步的执行. 2.分支控制:程序有选择的执行.又分单分支,多分支,多重分支. a.单分支:基本语法结构: if(条件表达式){ 语句; //.....; } 提示:条件表达式不管有多复杂,最终就是true或者false; eg: a=11; if(a>10){ echo "a>10"; } b.多分支:基本语法: if(条件表达式){ 语句; //.....; }else{ 语句

php使用多个进程同时控制文件读写示例_php实例

复制代码 代码如下: <?php/** * 写入数据 * @param  [string] $path [文件路径] * @param  [string] $mode [文件打开模式] * @param  [string] $data [数据] * @return [bool]        */function writeData($path, $mode, $data){       $fp = fopen($path, $mode);       $retries = 0;       $