我曾参与编写一对夫妇,其中数据推来回定期的应用程序,我们建立了一个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