2015-10-17 95 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是一種替代方案,並在頁面底部有一個非常簡單的示例。希望這可以幫助。

相關問題