我仍然是 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');