我有一個調用變量的div。當該變量發生變化時,用戶需要刷新頁面以查看新值。該變量是從一個單獨的PHP文件中提取的。更新PHP變量時自動刷新div
我想知道是否有一種方法來使用Ajax來自動更新div,而無需用戶刷新瀏覽器,當它看到PHP變量已更新。
我有一個調用變量的div。當該變量發生變化時,用戶需要刷新頁面以查看新值。該變量是從一個單獨的PHP文件中提取的。更新PHP變量時自動刷新div
我想知道是否有一種方法來使用Ajax來自動更新div,而無需用戶刷新瀏覽器,當它看到PHP變量已更新。
您可以使用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還是文本。
這正是我需要的!儘管我對ajax非常陌生,所以我不確定如何格式化數據。儘管這個變量是一個純文本值。此外,我會用什麼代碼來更新div?謝謝你的時間 – hushman
如果你的數據是明文,那麼你應該使用dataType:'html',至於更新實際的div你應該看看選擇器(http://api.jquery.com/category/selectors/)和jQUery(http://api.jquery.com/html/)中的html()方法。查看jQuery API,這是一個帶有示例和詳細描述的很好的參考。 –
非常感謝您的開始:)我的代表不夠高,無法給您積分,但謝謝! – hushman
我假定「調用變量」的意思是「顯示一些計算結果」。這基本上就是每個AJAX腳本的用途:向服務器詢問計算結果,並根據結果更新頁面上的內容。 – IMSoP
如果服務器端的某些內容發生變化,用戶應該知道應該定期「詢問」服務器以進行更新,然後讓用戶知道最後兩個結果是否不同。所以是的,這是可能的:) – yefrem