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