2013-03-29 78 views
0

我有一個調用變量的div。當該變量發生變化時,用戶需要刷新頁面以查看新值。該變量是從一個單獨的PHP文件中提取的。更新PHP變量時自動刷新div

我想知道是否有一種方法來使用Ajax來自動更新div,而無需用戶刷新瀏覽器,當它看到PHP變量已更新。

+0

我假定「調用變量」的意思是「顯示一些計算結果」。這基本上就是每個AJAX腳本的用途:向服務器詢問計算結果,並根據結果更新頁面上的內容。 – IMSoP

+0

如果服務器端的某些內容發生變化,用戶應該知道應該定期「詢問」服務器以進行更新,然後讓用戶知道最後兩個結果是否不同。所以是的,這是可能的:) – yefrem

回答

3

您可以使用ajax定期檢查變量是否有變化,如果是這種情況,您可以更新div。

var previousValue = null; 

function checkForChange() { 
    $.ajax({ 
     url: 'http://example.com/getVariableValue.php', 
     ... 
     success: function(data) { 
      if (data != previousValue) { // Something have changed! 
       //Call function to update div 
       previousValue = data; 
      } 
     } 
    }); 
} 

setInterval("checkForChange();", 1000); 

我沒有帶測試的代碼,但它應該是類似的東西。將從http://example.com/getVariableValue.php獲得數據,您必須填寫一些關於AJAX請求的信息。我假設您知道如何修改您的特定數據格式的代碼,無論是XML,JSON還是文本。

+0

這正是我需要的!儘管我對ajax非常陌生,所以我不確定如何格式化數據。儘管這個變量是一個純文本值。此外,我會用什麼代碼來更新div?謝謝你的時間 – hushman

+1

如果你的數據是明文,那麼你應該使用dataType:'html',至於更新實際的div你應該看看選擇器(http://api.jquery.com/category/selectors/)和jQUery(http://api.jquery.com/html/)中的html()方法。查看jQuery API,這是一個帶有示例和詳細描述的很好的參考。 –

+0

非常感謝您的開始:)我的代表不夠高,無法給您積分,但謝謝! – hushman