2015-10-17 55 views
3

我需要加载数据以供我的JavaScript应用程序使用。我想加载以下:只有在尚未加载的情况下才能使用AJAX加载数据?

  • 用户列表JSON
  • 里程碑JSON
  • 标签JSON
  • 用户ACL权限JSON

这4项数据从服务器JSON应使用AJAX加载,但只加载一次。

所以我需要检查数据是否已经加载,如果是,使用它的代码。如果尚未加载,则会发出AJAX请求并加载数据,然后使用它。

我有多个需要访问这些数据的JavaScript文件,所以我想确保它们中的任何一个都可以访问它,而且一旦先调用它,就会使用AJAX加载它,并使其可用于其他脚本无需多次重复AJAX请求就可以调用它。

我怎么能用JavaScript和jQuery去解决这个问题?

一个基本的例子将是超级赞赏和有用的。谢谢


如果其中没有设置,请使用AJAX加载它们。使用AJAX加载后,设置这些瓦尔下一个呼叫者访问他们没有新的AJAX请求而作出...

var userList = userJsonData; 

var milestoneList = milestoneJsonData; 

var tagList = tagJsonData; 

var useAclPermissions = useAclPermissionsJsonData; 

回答

1

不仅仅是数据,当存储在一个全局JavaScript变量,它被设置为空的页面加载。其中加载数据的第一个脚本,并将其存储在变量,其他所有的脚本尝试访问该变量的内容,如果没有设置,将其加载:

var milestoneData = null; 

function getMilestoneData() { 
    if (milestoneData === null) { 
    //make the ajax request, and populate milestoneData variable 
    } else return milestoneData; 
} 
0

根据can i use你可以检查出localstorage又名webstorage。如果你可以使用它,它可能会解决你的问题。有一个jQuery plugin可用。 jstorage是一种替代方案,并在页面底部有一个非常简单的示例。希望这可以帮助。

相关问题