我目前有一個JS ajax腳本來從數據庫加載數據,其中查詢是在load.php 如何使自動加載新的內容分開根據服務器的時間和日期? 而不是整個數據庫表刷新每個「5秒」 但加載一次當前數據,然後基於服務器時間/日期的新數據。 這裏是我的腳本>使用Javascript/ajax基於服務器時間和日期加載新數據
0
A
回答
0
不能啓動從服務器發送AJAX數據而無需客戶端(瀏覽器)的請求。因此,您應該使用第一個請求(瀏覽器請求頁面本身)來計算服務器上的時間偏移量(以PHP爲單位),並將函數放入setTimeout
中,該函數將在幾秒鐘後執行。所以,你的PHP文件將是這個樣子:
$time = 4300 // or whatever, based on your server clock.
echo '<script language="JavaScript">
window.onload = function(){
$("#feed").empty();
/* if you want to execute it once at page load too:*/
$("#feed").load("load.php");
/* then load after $time milliseconds:*/
setTimeout(function(){
$("#feed").load("load.php");
},'.$time.');
}
</script>';
記住setTimeout
的偏移應該是毫秒。
如果您有完整的服務器訪問權限(如套接字和內容),Websockets是解決您的問題的另一種解決方案。它們涉及基本上在腳本第一次執行時創建websocket連接,然後服務器和客戶端可以根據需要將消息發送給對方。這些消息可以包含您希望的數據。
相關問題
- 1. SQL服務器:基於日期和兩個不同的時間
- 2. 服務器日期時間和客戶端日期時間
- 3. 使用服務器時區的JSP顯示服務器日期和時間
- 4. 基於R中的日期/時間範圍加入數據
- 5. 基於日期時間的日期
- 6. 基於日期時間
- 7. UTC時鐘基於服務器時間?
- 8. 基於獲取數據的日期和時間
- 9. 搜索基於MySQL數據庫的Soley日期而不是日期和時間
- 10. 從時間服務器檢索當前日期和時間
- 11. 更新基於瀏覽器中的時間到期的數據
- 12. Java:相對於當前(服務器)時間的日期和時間
- 13. SQL:服務器組按日期忽略時間數據
- 14. 日期時間在服務器上
- 15. SQL服務器 - 上日期時間
- 16. SQL服務器日期時間
- 17. 獲取日期或時間,服務器
- 18. C#服務器端日期時間
- 19. 基於日期時間使用laravel查詢從數據庫中獲取數據
- 20. silverlight + ria服務的日期和時間
- 21. 定期從Angular 2/4服務器重新加載數據
- 22. 添加日期參數和時間參數單日期時間
- 23. Android的基於定時器的服務更新數據庫
- 24. datepicker禁用基於時間的日期
- 25. 基於cron作業時間還是基於服務器時區?
- 26. 如何使用日期範圍期限(日期和時間)添加和更新數據?
- 27. 使用當前日期時間將日期時間添加到數據表?
- 28. 加載和緩存基於時間的數據
- 29. 付款日期基於時間間隔
- 30. 服務器和客戶端之間的日期時間差異
所以你想推動數據到javascript客戶端的權利?那麼也許你應該深入瞭解websocket技術......這是將數據從服務器推送到客戶端的唯一方法,以便客戶端不必進行輪詢,否則就有一種稱爲長輪詢的技術,您可以打開一個到來自javascript xhr的web服務器,連接長時間保持打開狀態,服務器可以在這段時間內將數據寫入客戶端...這會減少輪詢的頻率,但不是完整的解決方案 –
您不需要JavaScript即可根據當前日期在頁面中加載新數據。 –
我會如何處理它? 我的意思是我正在考慮去Ajax路線,但後來意識到它會刷新「所有表格數據」 – SARUAV