2016-04-06 39 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