PHP如何调用JS函数并获取其返回的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP如何调用JS函数并获取其返回的数据?相关的知识,希望对你有一定的参考价值。

例如有个JS的函数 test() 我要在php里面调用他并获取函数的返回值。 我想要的是在PHP里调用经JS的函数处理后的返回值 怎么才能拿到返回值?

参考技术A 人家问的是PHP调用JS函数。。。楼主,我可以很负责的告诉你,这是不可能的。PHP是在
服务器端
运行的脚本,而JS是在浏览器运行的脚本,你要调用可以,直接echo个script就可以,但是获取
返回值
是不可能的,只有让JS把返回值通过AJAX发送给PHP才可以。
参考技术B 一、js自己使用使用new
date()类型变量的gettime获得同样的结果,但是是客户机的,而且是毫秒,需要除以1千
二、可以这样写代码把time值传递给js变量:
var
t=
?php
echo
time();?
;
参考技术C 这个不可能的。服务器端怎么可能调用客户端行为。反过来用AJAX可以实现,但是如你所说确实不可能啊。

如何在js中调用php?

在js中调用php的方法是直接在script标签的src属性中嵌入要访问的php地址。

1、JS方式调用PHP文件并取得PHP中的值
举例说明:
如在页面test_json1中用下面这句调用:

<script type="text/javascript" src="/index.php/test/testjson2">  

</script>  

<script type="text/javascript" >  

    alert(jstext);  

</script> 

2、在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的值。

3、调用结果:

参考技术A 举一个简单的例子来说明:
如在页面a.html中用下面这句调用:

<script type="text/javascript" src="b.php?action=test"></script>
<script type="text/javascript" >
alert(jstext);
</script>

在b.php中有这样一段PHP代码:
<? $action=$_GET['action']; //echo "var jstext='$action'"; //输出一句JS语句,生成一个JS变量,并赋颠值为PHP变量 $action的值 //echo "var jstext='aa'"; echo "var jstext="."'$action'"; ?>

当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.
小结:
在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.

2 php调用js中的值
在z.php页面中有这样一段代码:
<script type="text/javascript" > var url="aaaa*"; </script> <? $key="<script type=text/javascript>document.write(url)</script>"; echo $key; ?>

3 php调用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.getElementByIdx_x_x_x("userId").value;
alert (userId);
</script>
<input type="text" name="userId" id="userId" value="<?php echo $userId; ?>">
(2)
<?php
$url = '变化的网址'; //定义变量
?>
<script type="text/javascript">
//js调用php变量
var ds ="<?php echo $url?>" ; //赋值 alert(ds); //输出效果 </script>
5 -------------------------------
<script language="JavaScript"> <!--
var Y=<?php echo date('Y')?>,M=<?php echo date('n')?>,D=<?php echo date('j')?>;
-->
</script>

6 自己写的js和php互相调用
1.php内容:
<?php

//echo "<script LANGUAGE='javascript'>alert('$php变量');</script>"; //最简单的php调用js
//echo "<a href=#><img width=50 src='$fruit_pic_array[$i]' onMouseOver=’javascript:a();‘></a>";
//echo "<a href='3.php'>aaaa</a>"; //php中超链接

//echo "<script type='text/javascript' language='javascript'>phpmake('PHP建站学习笔记网');</script>"; //有时候需要在PHP执行过程中,需要调用JavaScript自定义函数(验证时出错)
echo "function ok(msg)alert(msg);";
?>
<HTML>
<HEAD>
<TITLE> php调用js文件的好办法</TITLE>
</HEAD>
<BODY>
<!--js调用php中定义的js-->
<scrīpt language=''javascrīpt'' type=''text/javascrīpt'' src=''1.php''></scrīpt>
<scrīpt>
ok("aaaaaa!");
</scrīpt>
</script>
</BODY>
</HTML>

2.php内容:
<!--js调用php-->
<?php

$userId=100;

?>

<script>

var userId;

userId=document.getElementByIdx_x("userId").value;

alert (userId);

</script>

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

<!--js调用php-->
<?php
if($_GET["action"]=="ok")

echo "I'm OK!";

else

echo "I'm not OK!";

?>
<SCRIPT Language = "JavaScript">
function func()

if(confirm("Are you OK with this?"))

this.location = "ok.php?action=ok";

else

this.location = "ok.php?action=cancel";


</SCRIPT>
<html>
<head>
</head>
<body>
<a href="#" href="#" onClick="javascript:func();">Please Click</a>
</body>
</html>

<!--js调用php-->
<html>
<head>
<script>
function isMail(PostString)

re=/\w*/
if(re.test(PostString))

return true;

else

return false;


function test()
if (isMail(<?php echo $email?>))
document.write("<?php echo "N";?>");
else
document.write('<?php echo 'Y';?>');

</script>
</head>
<body>
<?php
$email="aa";
?>
<input type=button value=click onclick= 'test() '>
</body>
</html>

<!--php中含有js代码-->
<?php
echo "
<script language=javascript>
function test()
alert( 'hello ');

</script> ";

?>
<input type=button value=click onclick= 'test() '>
参考技术B 1 JS方式调用PHP文件并取得php中的值

举一个简单的例子来说明:
如在页面a.html中用下面这句调用:

<script type="text/javascript" src="b.php?action=test"></script>
<script type="text/javascript" >
alert(jstext);
</script>

在b.php中有这样一段PHP代码:
<? $action=$_GET['action']; //echo "var jstext='$action'"; //输出一句JS语句,生成一个JS变量,并赋颠值为PHP变量 $action的值 //echo "var jstext='aa'"; echo "var jstext="."'$action'"; ?>

当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.
小结:
在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.

2 php调用js中的值
在z.php页面中有这样一段代码:
<script type="text/javascript" > var url="aaaa*"; </script> <? $key="<script type=text/javascript>document.write(url)</script>"; echo $key; ?>

3 php调用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.getElementByIdx_x_x_x("userId").value;
alert (userId);
</script>
<input type="text" name="userId" id="userId" value="<?php echo $userId; ?>">
(2)
<?php
$url = '变化的网址'; //定义变量
?>
<script type="text/javascript">
//js调用php变量
var ds ="<?php echo $url?>" ; //赋值 alert(ds); //输出效果 </script>
5 -------------------------------
<script language="JavaScript"> <!--
var Y=<?php echo date('Y')?>,M=<?php echo date('n')?>,D=<?php echo date('j')?>;
-->
</script>

6 自己写的js和php互相调用
1.php内容:
<?php

//echo "<script LANGUAGE='javascript'>alert('$php变量');</script>"; //最简单的php调用js
//echo "<a href=#><img width=50 src='$fruit_pic_array[$i]' onMouseOver=’javascript:a();‘></a>";
//echo "<a href='3.php'>aaaa</a>"; //php中超链接

//echo "<script type='text/javascript' language='javascript'>phpmake('PHP建站学习笔记网');</script>"; //有时候需要在PHP执行过程中,需要调用JavaScript自定义函数(验证时出错)
echo "function ok(msg)alert(msg);";
?>
<HTML>
<HEAD>
<TITLE> php调用js文件的好办法</TITLE>
</HEAD>
<BODY>
<!--js调用php中定义的js-->
<scrīpt language=''javascrīpt'' type=''text/javascrīpt'' src=''1.php''></scrīpt>
<scrīpt>
ok("aaaaaa!");
</scrīpt>
</script>
</BODY>
</HTML>

2.php内容:
<!--js调用php-->
<?php

$userId=100;

?>

<script>

var userId;

userId=document.getElementByIdx_x("userId").value;

alert (userId);

</script>

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

<!--js调用php-->
<?php
if($_GET["action"]=="ok")

echo "I'm OK!";

else

echo "I'm not OK!";

?>
<SCRIPT Language = "JavaScript">
function func()

if(confirm("Are you OK with this?"))

this.location = "ok.php?action=ok";

else

this.location = "ok.php?action=cancel";


</SCRIPT>
<html>
<head>
</head>
<body>
<a href="#" href="#" onClick="javascript:func();">Please Click</a>
</body>
</html>

<!--js调用php-->
<html>
<head>
<script>
function isMail(PostString)

re=/\w*/
if(re.test(PostString))

return true;

else

return false;


function test()
if (isMail(<?php echo $email?>))
document.write("<?php echo "N";?>");
else
document.write('<?php echo 'Y';?>');

</script>
</head>
<body>
<?php
$email="aa";
?>
<input type=button value=click onclick= 'test() '>
</body>
</html>

<!--php中含有js代码-->
<?php
echo "
<script language=javascript>
function test()
alert( 'hello ');

</script> ";

?>
<input type=button value=click onclick= 'test() '>

以上是关于PHP如何调用JS函数并获取其返回的数据?的主要内容,如果未能解决你的问题,请参考以下文章

js如何接收并显示返回值

php中,获取类里面函数的变量,的方法是?

js怎样获取调用回调函数的参数值

js怎样获取onclick的返回值

js下多个异步函数,怎么获取最终结果?

PHP里如何获取函数的调用者名称