2016-05-12 250 views
0

背景資料:強制用戶重新加載頁面

  1. 我的JavaScript,使一個AJAX請求。
  2. 我使用一個版本的URL參數,以確保在頁面加載時它得到最新版本的JavaScript文件中:/path/to/file.js?v=20160511

這個問題我現在需要解決的是,當我做出改變的由AJAX調用返回的數據(我認爲這被認爲是API中斷)和JavaScript文件(客戶端)。我的第一個想法是以某種方式強制用戶重新加載頁面,當我釋放對API的更改。什麼是確保客戶端和服務器保持同步的良好過程?

+2

您可以通過websocket連接的方式將通知從服務器發送到客戶端。通過在客戶端處理通知,您可以強制頁面重新加載。 或者,您可以從客戶端向服務器進行輪詢,每次詢問「我應該更新」,當服務器端更新標誌更改時,客戶端將被強制重新加載。 個人而言,我強烈推薦第一個解決方案。 –

回答

0

根據Uğurcan的評論和Hullu2000answer,我在當前的實現中添加了兩件事。總的必要的項目有:

  1. 中的JavaScript在頁面引用有一個版本URL參數,以確保在頁面加載時它得到最新版本的JavaScript文件中:/path/to/file.js?v=20160511
  2. API調用返回一個JSON使用API​​版本字符串的響應
  3. JavaScript根據本地變量檢查API響應版本字符串。如果它們不匹配,則調用window.location.reload();
1

您可以使用AJAX在客戶端觸發''location.reload();''。

相關問題