2012-02-28 106 views
1

我需要一些东西在这里澄清:PHP和JavaScript交互

我有一个网站,更新每个网站在浏览器中重新载入时间两个变量的值。这个页面显然是一个HTML页面,但变量由javascript函数更新。此页面在我的服务器上运行。

PHP可以检索这些变量的值,并使用它们将它们写入一个txt文件或XML文件?我意识到JavaScript是一种浏览器端语言,PHP是一种服务器端语言,但我不知道这两种语言在这种情况下如何正确关联。

此外,我没有选择重新创建JavaScript脚本作为PHP脚本。

是我想做的可能吗?

感谢

+2

您正在寻找AJAX。 – SLaks 2012-02-28 22:31:20

回答

3

我不确定何时更新变量(如果它们在页面生成时更新,那么为什么不只用PHP来做?)。但是,如果他们被更新在客户端,基于用户做出一些动作,那么就请执行以下操作:

  1. 更新,问题AJAX调用服务器上的JS变量后,发送数据
  2. 在服务器端,使用PHP生成TXT或XML文件,根据发送的数据

第一个可以使用例如。 jQuery's .post() method,第二个可以通过从被称为PHP脚本(使用AJAX发送数据的那个脚本)中读取$_POST变量并将其输出到TXT文件(例如,通过使用PHP's fwrite() function)来完成。

编辑:关于AJAX有一个很好的参考。请参阅Mozilla Developer Network article on Asynchronous JavaScript + XML (AJAX)

1

AJAX是答案。您可以直接使用XMLHttpRequest对象,也可以使用jQuery等库来处理请求。然后,您可以使用HTTP-POST-Request将数据发送到您的服务器,在这种情况下,您的PHP脚本会将收到的值保存到$ _POST数组中。

使用jQuery,这是可以做到这样的:

var data = {foo: 'bar', lorem: 'ipsum'}; 
$.post('http://example.com/save.php', data); 
0

PHP和JS不搭腔。他们有一个中介......即HTML页面。

PHP - >生成HTML - >发送到浏览器 - >渲染 - > JS与HTML交互 - >送回 - > PHP交互与服务器响应

0

使用JavaScript来获取这些变量的值,然后将它们发送到你的php脚本使用AJAX(以json格式),那么你的php代码可以检索这些变量并将它们写入文件。

查看this举例。

3

你想要AJAX。这里是一个很好的介绍吧,如果你遵循下一章中,它可以让你用PHP一个例子:PHP脚本运行时,这样不会工作

http://www.w3schools.com/php/php_ajax_intro.asp

+0

正常情况下,我会降低你参考W3School的答案(这是为什么:[W3Fools.com](http://w3fools.com/))。但是这次我只会引用更好的源代码:** [Mozilla开发者网络:AJAX](https://developer.mozilla.org/en/AJAX)**。请不要使用W3School作为参考。 – Tadeck 2012-02-29 18:02:25

2

变量的arent被设定。一旦JavaScript的脚本功能得到你所需要的值并发送值以.php脚本来运行你可以做一个AJAX调用

0

JavaScript和PHP可以在提到的方式相互关系:从PHP 1_send阵列JavaScript的

<script type="text/javascript"> 
<?php 
    $myVar = array('a' , 'b' , 'c'); 
?> 
    console.log(<?php echo json_encode($myVar); ?>); 

</script> 

2_8发送和JSON文件从PHP的JavaScript。 (可能是ajax调用) 3_将xml文件从php发送到javascript。 (当然优先考虑json) 4_使用JavaScript和REST API从文件或数据库中读取或...哪个数据库有与他们有关的东西。

也许还有其他一些方法。

取决于您需要使用哪一个。