私はまだjQueryとajaxシーンの初心者ですが、GETを実行していくつかのXMLファイル(〜6KB以下)を取得する$.ajaxリクエストがありますが、ユーザーがそのページに費やす間、XMLコンテンツはnot / will not change (このデザインは変更できません。別の場所から読み取っているため、XML ファイルを変更するアクセス権もありません)。したがって、応答データを格納するグローバル変数があり、その後のデータの検索はこの変数で行われるため、複数の要求を行う必要はありません。
XML ファイルが増加する可能性があるという事実を考えると、これがベスト プラクティスであるかどうかはわかりません。また、Java のバックグラウンドから来て、グローバル パブリック変数に関する私の考えは、一般的にノーノーです。
だから私が持っている質問は、これを行うためのより良い方法があるかどうか、そしてファイルがばかげたファイルサイズに拡張された場合にメモリの問題が発生するかどうかについての質問ですか?
データを 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');