建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

javascript通过Ajax直接调用任意PHP函数多参数(JS调用PHP和PHP调用JS的方法)

GG网络技术分享 2025-03-18 16:14 0


javascript通过Ajax直接调用任意PHP函数多参数

前端html+js一般是不能直接调用后端php中的函数的并返回结果的。

菜农在学习网站编程后,就被此事困扰很长时间。

因为前端的js可以通过ajax技术带参数访问后端的php过程,并返回结果。

那么是否js也能带参数访问任意php函数并返回结果?

菜农在网友的指点下完成此设想并测试通过!

其核心思想是通过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函数多参数例程

菜农在网友的指点下完成此例程,非常感谢!!!

如图所示,前三个分别是html,php和csv,最后一张图是网站测试http://www.hotpage.com.cn/phptest/HotFunction.html运行的截图。

csv内存储了访问该测试函数的次数,即网站访问计数器。

JS调用PHP和PHP调用JS的方法

举例说明JS调用PHP和PHP调用JS的方法

在学习任何一门编程语言,我们都会听到调用这个词,那么,在javascript中是如何调用php的呢?在php中也可以调用js吗?下面就让我们一起来看看吧。

1、JS方式调用PHP文件并取得PHP中的值

举一个简单的例子来说明:

如在页面test_json1中用下面这句调用:

<script type=\"text/javascript\" src=\"http://callmewhy.sinaapp.com/index.php/test/testjson2\">

</script>

<script type=\"text/javascript\" >

alert(jstext);

</script>

在test_json2.php中有这样一段PHP代码:

<?php

$php_test=\'I come from PHP!\';

echo \"var test=\'$php_test\';\";

echo \"var jstext=\".\"\'$php_test\';\";

?>

当执行test_json1.php文件时,就会调用test_json2.php文件,并将b.php文件的输出作为JS语句来执行,

所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.

小结:在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.

2、PHP调用JS中的值

在test_json3.php页面中有这样一段代码:

<script type=\"text/javascript\" >

var data=\"call_me_why\";

</script>

<?

echo \"<script type=text/javascript>document.write(data)</script>\";

?>

3、php调用js中的方法(函数)
和第二种情况基本类似,利用echo脚本来实现JS调用

<script type=\"text/javascript\">

function test() {

var t1=3;

t1 = t1+2;

alert(t1);

//return t1;

}

</script>

<?php echo \"<script type=\'text/javascript\'>test();</script>\"; ?>

4、JS调用PHP变量

(1)

<?php

$userId=100;

?>

<script>

var userId;

userId=document.getElementById(\"userId\").value;

alert(userId);

</script>

<input type=\"text\" name=\"userId\" id=\"userId\" value=\"<?php echo $userId; ?>\">

(2)

<?php

$url = \'CALL_ME_WHY\';    //定义变量

?>

<script type=\"text/javascript\">

//js调用php变量

var ds =\"<?php echo $url?>\" ; //赋值

alert(ds); //输出效果

</script>

5 、JS调用PHP函数

<script language=\"JavaScript\">

var Y=<?php echo date(\'Y\')?>,M=<?php echo date(\'n\')?>,D=<?php echo date(\'j\')?>;

alert(Y);

alert(M);

alert(D);

</script>

以上就是举例说明JS调用PHP和PHP调用JS的方法的详细内容,更多请关注网站的其它相关文章!

JS调用PHP和PHP调用JS的方法 (https://www.wpmee.com/) javascript教程 第1张

标签:

提交需求或反馈

Demand feedback