title: JQuery - Storing ajax response into global variable
body: <p>Im still somewhat of a newbie on jQuery and the ajax scene, but I have an $.ajax request performing a GET to retrieve some XML files (~6KB or less), however for the duration the user spends on that page that XML content should not / will not change (this design I cannot change, I also don't have access to change the XML file as I am reading it from somewhere else). Therefore I have a global variable that I store the response data into, and any subsequent look ups on the data are done on this variable so multiple requests don't need to be made.</p>
  
  <p>Given the fact that the XML file can increase, Im not sure this is the best practice, and also coming from a java background my thoughts on global public variables are generally a no-no.</p>
  
  <p>So the question I have is whether there might be a better way to do this, and a question on whether this causes any memory issues if the file expands out to some ridiculous file size?</p>
  
  <p>I figure the data could be passed into a some getter/setter type functions inside the xml object, which would solve my global public variable problems, but still raises the question on whether I should store the response inside the object itself.</p>
  
  <p>For example, what I currently do is:</p>
  
  
  
  <pre class="lang-js prettyprint-override"><code>// 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');
  </code></pre>