2012-02-28 110 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從文件或數據庫中讀取或...哪個數據庫有與他們有關的東西。

也許還有其他一些方法。

取決於您需要使用哪一個。