title: AJAX call in for loop won't return values to correct array positions
body: <p>I need to get a range of pages using AJAX and put them into an array, where their given place in the array is equal to the <code>i</code> of a for loop (it's a caching-like function for blog pages, and the range of the for loop is entirely variable). I'm doing something akin to the following:</p>
  
  <pre><code>var bongo = new Array();
  
  for (i = 0; i &lt; 10; i++) {
  
      jQuery.ajax({ type: "GET", url: 'http://localhost', data: queryString, success: function(request) { bongo[i] = request } })
  
  }
  </code></pre>
  
  <p>The problem is, that unless I add <code>async: false</code> to the .ajax options (which would make it... SJAX?), which causes the requests to basically pause the browser, going against what I'm trying to do, the i in the success callback will always end up being 11, whereas I of course want it to pour the returned data into each slot of the array from 0 to 10.</p>
  
  <p>I've tried replacing the line with this:</p>
  
  <pre><code>bongo[i] = jQuery.ajax({ type: "GET", url: 'http://localhost', data: queryString }).responseText
  </code></pre>
  
  <p>But that made no difference.</p>