欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php模块化供前端ajax调用的实现 ajax php post jquery ajax php ajax分

程序员文章站 2022-03-12 08:57:15
...
背景:没有使用php框架
由于临时需求,需要ajax调用php中的方法,简单的写了一个php文件,文件定义了两个方法,如何用ajax分别调用同一个php文件不同的方法。
以下是abc.php文件,我定义的两个方法a方法和b方法
classabc
    {functiona(){echo something;
        }
        functionb($args){echo something;
            }
        }
    }
?>

以下是Controller.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));                              
                }    
            }  
        } 
        catch (Exception$exc) {    
            echo$exc->getTraceAsString();  
        }
    }
?>

使用ajax调用时,使用如下写法实现只调用abc.php中的a方法:

$.ajax({
         type:"POST",
         url: 'Controller.php?action=abc/a',    
         dataType: 'json',
         success: function(data) {         }
      });

如果需要传参数,可以这么写来调用:

$.ajax({
         type:"POST",
         url: 'Controller.php',   
         data:{
            action=abc/b,
            参数1: 123,
            参数2: 456}
         dataType: 'json',
         success: function(data) {

         }
      });
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了php模块化供前端ajax调用的实现,包括了ajax,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签: ajax php