我曾參與編寫一對夫婦,其中數據推來回定期的應用程序,我們建立了一個API對象在Javascript處理數據從請求的服務器被拉出。
API模塊請求數據並根據其成功狀態採取行動。如果您覺得可能需要擴展稍後返回的數據類型,或者只需構建一個AJAX調用來爲下拉列表提取數據,則可以構建一個簡單的API模塊以供使用。
API接口的一個例子是這樣:
/**
* Parameter 1, string - Command Name for the server to interpret
* Parameter 2, object - Data that should be passed to the server (if necessary)
* Parameter 3, string - the HTTP method to use: 'GET', 'POST', 'PUT' etc.
* Parameter 4, function - the callback to fire once the response is received.
**/
api('CommandName', { key: 'value' }, 'METHOD', function(response) {
if(response.success) {
//Store data in localStorage here
}
});
與上面的規定,您被多次使用在整個網站上的頁面數據。因此,在JavaScript中,您將編寫一個負載檢查來確定數據是否已存儲在localStorage中,並且如果不調用API來填充它。這將確保客戶始終擁有可用的數據。這可以這樣做:
//On Load
if(!localStorage.dropdown) {
api('CommandName', { key: 'value' }, 'METHOD', function(response) {
if(response.success) {
localStorage.dropdown = response.data;
}
});
}
聽起來像一個合理的想法。你有什麼嘗試,你卡在哪裏? – David
我可以通過將信息轉儲到頁面上的隱藏控件,然後使用JavaScript從那裏接收它,將列表數據存入本地存儲。該方法仍然查詢數據庫,並在每次加載時將數據傳輸到頁面。我希望社區知道更好的方法來解決客戶端和服務器之間的這條鏈。 – defect833
聽起來就像在數據庫查詢之前要確定數據是否存在客戶端*一樣。在這種情況下,你正在做的是通過AJAX而不是'Page_Load'獲取數據。這樣,您可以在發出AJAX請求之前使用JavaScript檢查緩存的數據。爲此,你將要考慮使用AJAX。 – David