Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php获取javascript输出_Php_Javascript - Fatal编程技术网

使用php获取javascript输出

使用php获取javascript输出,php,javascript,Php,Javascript,例如,我在js.php中有这段代码 <script type="text/javascript"> document.write(Math.random()); </script> 这将产生如下输出: <script type="text/javascript"> document.write(Math.random()); </script> 但是,我希望输出为0.123123,这是javascript生成的输出。我不需要源代码,但需要该代码

例如,我在js.php中有这段代码

<script type="text/javascript">
document.write(Math.random());
</script>
这将产生如下输出:

<script type="text/javascript">
document.write(Math.random());
</script>
但是,我希望输出为0.123123,这是javascript生成的输出。我不需要源代码,但需要该代码的输出。如何使用PHP实现这一点


注:随机数只是一个样本。我还有其他工作要做。

您需要使用AJAX来实现这一点。使用jQuery更容易做到这一点:

但您也可以使用常规JavaScript来实现这一点:
JS是一种不同的编程语言,它需要一个支持JS的解析器来解释。您不能仅仅用PHP获取HTML文档,然后期望JS运行,PHP将看到的只是文本

实现这一点的两种一般方法是:

通过HTTP将HTML文档传递给浏览器。在浏览器中运行JS。通过HTTP将数据传回。e、 g.通过XMLHttpRequest,或者在使用JS填充隐藏输入后使用JS提交表单。 将JS传递给服务器上运行的JS解析器。e、 g.使用。 这两种方法都需要修改JS;它目前设计用于向HTML文档添加内容。如果您使用的是浏览器,那么您必须添加更多的JS来提取它。如果您使用的是v8,那么您要么重写JS,要么模拟document对象


您也可以采取介于两者之间的方法,通过编程控制服务器上的浏览器,例如使用。通过这种方式,您可以指示浏览器获取文档,然后可以使用PHP API从中读取DOM。

除了使用ajax调用之外,您不能。您正在尝试结合客户端和服务器端脚本。如果不使用ajax调用,他们就无法进行通信。php脚本将首先运行,因为它是服务器端的。因此,当PHP运行时,还没有生成JavaScript随机数。页面必须加载,JavaScript必须生成随机数,然后必须对服务器进行ajax调用。然后,您的PHP脚本可以使用该数字。

尝试使用:


您可以在成功回调时执行函数。

PHP在服务器上,JavaScript在客户端。您需要使用AJAX请求将信息发送回服务器。谁投了反对票?如果你不知道答案,请跳过。这不是你的知识所能理解的。我不明白你为什么要用JavaScript而不是PHP来生成随机数?@PrakashTimilsina这是一个大话题,也是一个单独的问题。你需要先做研究。我相信,如果你在谷歌上使用AJAX和PHP,你会发现大量的教程。-1因为你没有做任何基础研究。
<script type="text/javascript">
document.write(Math.random());
</script>