我需要澄清一些事情:
我有一个网站,每次在浏览器中重新加载网站时都会更新两个变量的值。这个页面显然是一个HTML页面,但变量是由javascript函数更新的。此页面在我的服务器上运行。
PHP可以检索这些变量的值,并使用它们将它们写入txt文件或XML文件吗?我意识到javascript是一种浏览器端语言,PHP是服务器端语言,但我不知道这两种语言在这种情况下是如何正确关联的。
此外,我没有选择将JavaScript代码重新创建为PHP脚本。
我想做的是什么?
由于
答案 0 :(得分:3)
我不确定变量何时更新(如果在生成页面时更新它们,那么为什么不用仅使用PHP进行更新?)。但是如果它们在客户端更新,基于用户的某些操作,那么只需执行以下操作:
第1次可以使用例如。 jQuery's .post()
method,第二个可以通过从被调用的PHP脚本(使用AJAX发送数据的脚本)中读取$_POST
变量,并将其输出到TXT文件(例如,使用PHP's fwrite()
function)。
编辑:关于AJAX有很好的参考。请参阅Mozilla Developer Network article on Asynchronous JavaScript + XML (AJAX)。
答案 1 :(得分:3)
你想要AJAX。这是一个很好的介绍,如果你按照下一章,它给你一个PHP的例子:
答案 2 :(得分:2)
当PHP脚本运行时,变量尚未设置,因此无法正常工作。一旦javascript脚本函数获得所需的值,您就可以执行AJAX调用,并将值发送到.php脚本以运行
答案 3 :(得分:1)
AJAX就是答案。您可以直接使用XMLHttpRequest对象,也可以使用jQuery等库来处理请求。然后,您可以使用HTTP-POST-Request将数据发送到您的服务器,在这种情况下您的PHP脚本然后将它收到的值保存在$ _POST数组中。
使用jQuery,可以这样做:
var data = {foo: 'bar', lorem: 'ipsum'};
$.post('http://example.com/save.php', data);
答案 4 :(得分:1)
SLaks是对的。你想看看ajax。最简单的方法是包含最新的jquery库,然后在加载时将变量发送到php脚本。
PHP fwrite docs将解释如何写入平面文本文件。
希望它有所帮助。如果您需要澄清,请告诉我们。
答案 5 :(得分:0)
PHP和JS不会互相交谈。他们有一个中介......即HTML页面。
PHP - >生成HTML - >发送到浏览器 - >渲染 - > JS与html交互 - >发回 - > PHP与服务器响应交互
答案 6 :(得分:0)
答案 7 :(得分:0)
javascript和php可以用上面提到的方式相互关联: 从php到javascript的1_send数组
<script type="text/javascript">
<?php
$myVar = array('a' , 'b' , 'c');
?>
console.log(<?php echo json_encode($myVar); ?>);
</script>
2_发送和json文件从php到javascript。 (可能是ajax电话) 3_从php发送xml文件到javascript。 (当然是首选的json) 4_使用带有REST API的javascript来读取文件或数据库或...哪个数据库与它们有一些关系。
也许还有其他一些方法。
取决于您需要使用哪一个。