Я все еще новичок в jQuery и сцене ajax, но у меня есть запрос $ .ajax, выполняющий GET для получения некоторых файлов XML (~ 6 КБ или меньше), однако на время, которое пользователь тратит на этой странице, что Содержимое XML не должно / не будет изменяться (этот дизайн я не могу изменить, у меня также нет доступа к изменению файла XML, поскольку я читаю его откуда-то еще). Поэтому у меня есть глобальная переменная, в которой я храню данные ответов, и любые последующие просмотры данных выполняются для этой переменной, поэтому не нужно выполнять несколько запросов.
Учитывая тот факт, что XML-файл может увеличиваться, я не уверен, что это лучшая практика, а также, исходя из опыта Java, мои мысли о глобальных публичных переменных, как правило, отрицательные.
Итак, у меня есть вопрос, может ли быть лучший способ сделать это, и вопрос о том, вызывает ли это какие-либо проблемы с памятью, если файл расширяется до какого-то нелепого размера файла?
Я полагаю, что данные могут быть переданы в некоторые функции типа getter / setter внутри объекта xml, что решило бы мои проблемы с глобальными открытыми переменными, но все же поднимает вопрос о том, должен ли я хранить ответ внутри самого объекта.
Например, что я сейчас делаю:
// 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');