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