2016-04-06 38 views
1

我有一個JavaScript文件中使用類似下面的一個代碼,這使得許多AJAX調用我的服務器:如何存儲網址,使AJAX調用

var url = "/api/read"; 
$.ajax({ 
type : 'GET', 
url : url, 
async : false, 
success : function(data) { 
    } 
}); 

有什麼辦法來存儲所有的URL某處所以我不需要在我的JavaScript文件中有硬編碼的網址?就像,我有一個文件/任何東西的引用,使我可以訪問所有可用於進行ajax調用的URL。

謝謝

+2

當然,你可以在一個單獨的文件存儲這些列表。但是你必須做額外的AJAX請求來加載列表。 – hindmost

回答

0

當然可以。您可以將所有的網址存儲在一個單獨的JavaScript文件中,並將其用作常量。

如果你不想要一個JavaScript,你也可以使用json來代替。

+0

如果我有一個xyz.json文件,它具有{ 「readData」:「/ api/read」 }如何在JavaScript文件中引用並讀取此數據以獲取readData url? – aaj

+0

通過ajax請求服務器獲取並將json存儲在一個變量中。你應該只做一次,而不是每次你需要一個url。然後你可以通過'myUrls.readData'訪問你的網址。 – Nalipu

+0

我做了一個GET ajax請求來加載我的.json文件。 console.log(數據)正確地給我我的json文件內容。但我無法從數據中讀取關鍵值對。這裏是我的代碼:成功:功能(數據){ \t url = data; console.log(data); console.log(urls.key); }, 的console.log(數據)O/P爲{ 「關鍵」: 「值」} – aaj

0

您可以使用JavaScript數組來存儲您的所有網址。根據像這樣的索引訪問它們。

var url = ["/api/read", "/api/write/", "/api/more/"] 

$.ajax({ 
    type: 'GET', 
    url: url[0], 
    /* this gives the first url - "/api/read" */ 
    async: false, 
    success: function(data) {} 
}); 
1

你可以使用localStorage如果你想存儲一些數據和一個好處是,這些數據甚至可以刷新頁面,但壞事後使用(可能是,根據要求)是,該數據存儲在瀏覽器中,所以如果你已經保存在Chrome瀏覽器的網址,那麼你不能從Firefox訪問它們。

但是,如果您希望當您的頁面標籤頁被移除或瀏覽器關閉時刪除您的數據,那麼您可以使用sessionStorage,但它又保存在瀏覽器中。

3

創建一個全局變量

var url = { 
    read:"/api/read", 
    write:"/api/write/", 
    more:"/api/more/" 
    } 

$.ajax({ 
    type: 'GET', 
    url: url.read, 
    /* this gives the first url - "/api/read" */ 
    async: false, 
    success: function(data) {} 
}); 
0

您可以使用JavaScript對象如下:

var urls = { 
    "readData" : "/api/read", 
    "writeData" : "/api/write", 
    "urlName" : "/api/update" 
}; 

,並用它作爲:

$.ajax({ 
    type: 'GET', 
    url: urls.writeData, 
    . 
    . 
    . 
+0

在發佈之前查看答案 – madalinivascu