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方法
由于临时需求,需要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教程有兴趣的朋友有所帮助。
推荐阅读
-
jQuery+php实现ajax文件即时上传的详解
-
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
-
php+jQuery ajax实现的实时刷新显示数据功能示例
-
PHP中运用jQuery的Ajax跨域调用实现代码
-
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
-
(火狐浏览器)前端以FormData类形成表单(含文件),通过ajax提交,PHP后端iconv()报“文件名含有非法字符”且POST中的‘Ttitle’丢失
-
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
-
jQuery ajax+PHP实现的级联下拉列表框功能示例
-
jQuery+php实现ajax文件即时上传的详解
-
jquery - 实现修改的功能,用ajax怎么实现,就是一个edit.php读出数据,update.php更新数据,怎么实现?