[英]Load js script only when it has not been loaded already and then only once
[英]Load data with AJAX only if it has not already been loaded?
我需要为我的JavaScript应用加载数据才能使用。 我想加载以下内容:
来自服务器的这4项数据作为JSON应该使用AJAX加载,但只加载一次。
所以我需要代码来检查数据是否已经加载,如果已加载,请使用它。 如果它尚未加载,它将发出一个AJAX请求并加载数据,然后使用它。
我有多个需要访问这些数据的JavaScript文件,所以我想确保他们中的任何一个都可以访问它,并且一旦首先调用它,将使用AJAX加载它并使其可用于其他脚本调用它而不进行调用多次重复AJAX请求。
我怎么能用JavaScript和jQuery来解决这个问题?
一个基本的例子将是超级赞赏和有用的。 谢谢
如果未设置其中任何一个,请使用AJAX加载它们。 使用AJAX加载后,为下一个调用者设置这些变量来访问它们,而不需要新的AJAX请求...
var userList = userJsonData;
var milestoneList = milestoneJsonData;
var tagList = tagJsonData;
var useAclPermissions = useAclPermissionsJsonData;
只需将数据存储在页面加载时设置为null的全局javascript变量中。 第一个加载数据的脚本,将其存储在变量中,所有其他脚本都尝试访问变量的内容,如果没有设置,则加载它:
var milestoneData = null;
function getMilestoneData() {
if (milestoneData === null) {
//make the ajax request, and populate milestoneData variable
} else return milestoneData;
}
根据我可以使用你可以查看localstorage aka webstorage。 如果您可以使用它,它可能会解决您的问题。 有一个jQuery插件可用。 jstorage是另一种选择,在页面底部有一个非常简单的例子。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.