相关疑难解决方法(0)

JQuery - 将ajax响应存储到全局变量中

我仍然是jQuery和ajax场景的新手,但我有一个$ .ajax请求执行GET来检索一些XML文件(大约6KB或更少),但是在用户花费在该页面上的持续时间内,XML内容应该是不会/不会改变(这个设计我无法改变,我也无权更改XML文件,因为我正在从其他地方读取它).因此,我有一个全局变量,我将响应数据存储到其中,并且对此数据的任何后续查找都在此变量上完成,因此不需要进行多个请求.

鉴于XML文件可以增加的事实,我不确定这是最佳实践,并且也来自java背景我对全局公共变量的想法通常是禁止的.

所以我的问题是,是否有更好的方法可以做到这一点,以及一个问题,如果文件扩展到一些荒谬的文件大小,这是否会导致任何内存问题?

我认为数据可以传递到xml对象中的一些getter/setter类型函数,这将解决我的全局公共变量问题,但仍然提出了我是否应该将响应存储在对象本身内的问题.

例如,我目前所做的是:

// top of code
var xml;
// get the file
$.ajax({
  type: "GET",
  url: "test.xml",
  dataType: "xml",
  success : function(data) {
    xml = data;
  }
});
// at a later stage do something with the 'xml' object
var foo = $(xml).find('something').attr('somethingElse');
Run Code Online (Sandbox Code Playgroud)

xml ajax jquery response

66
推荐指数
7
解决办法
18万
查看次数

标签 统计

ajax ×1

jquery ×1

response ×1

xml ×1