首先,你要搞明白各自的用途和关系。
PHP是后端服务器侧的编程语言,虽然可以嵌入网页中,但还是在后端,非常强大。
JS是前端客户端的脚本编程语言,它也可以嵌入到网页里运行。
它们之间通常是用AJAX技术异步通讯的。
选择上JS是不能直接调用PHP内的函数的,但是菜农求助网友后,非常完美地解决了JS带参数通过AJAX技术调用PHP函数,并返回给JS结果。
其核心思想是通过js的ajax调用php的call_user_func_array()函数,以实现任意php函数的调用。
特别注意:
为了网站的安全和防止黑客的攻击,特别设立了$funclst数组,js只能调用$funclst数组内的特定函数。
php核心代码为:
$funclst = array("f0", "f1", "f2", "a1", "a2", "a3", "a4", "HotCount");
$func = $_REQUEST["function"];
if(in_array($func,$funclst) && function_exists($func)){//只能调用例程函数
if(isset($_REQUEST["age"]) && strpos(strtolower($_REQUEST["age"]), "http://")){
echo "函数$func()的参数中包含非法字符!!!";
} else {
$age =isset($_REQUEST["age"])? explode(",",$_REQUEST["age"]) : array();//参数以","分割
echo call_user_func_array($func,$age);
}else{
echo "函数$func()不存在!!!";
javascript通过Ajax直接调用任意PHP函数多参数例程
菜农在网友的指点下完成此例程,非常感谢!!!
菜农个人免费纯技术网站提供测试服务,下图是JS和PHP源码,还有网站运行图示。
链接: