title: How to slow down an Ajax call?
body: <p>I have a function in JS contains a loop, that calls an AJAX call every iteration. The call to inserts <code>checked</code> elements into a DB and returns the results of those elements in the same page in the next section.</p>
  
  <p>The problem I have is that when I check for e.g. 4 checkboxes out of 3 groupes, the only checkboxes of the last group gets added to the page. However, when I use <code>alert()</code>, I can see all elements.</p>
  
  <p>I used setTimeout, but I got error in the code. I also added lines to give more time to AJX call, but the problem remains. So I wonder if there is a solution to slow down the code without using <code>alert()</code>.</p>
  
  <p>This is my script:</p>
  
  <pre><code>addAptitudeField : function(currentAutocompleteField, idChamp) {
  
      var currentAutocompleteFieldBind = currentAutocompleteField;
      var idChampBind = idChamp;
  
      window.setTimeout(function() {
  
          // Code ...
  
          var paramDwr = {};
          var newDivName = "div" + idChamp + lastValueId;
          paramDwr[attributs.r_divId] = newDivName;
          paramDwr[attributs.r_currentValue] = currentValue;
          paramDwr[attributs.r_hiddenIdsField] = hiddenIdsField.id;
          paramDwr[attributs.r_lastValueId] = lastValueId;
          paramDwr[attributs.r_itemmod] = nbAptitudesCat % 2 == 0;
  
          // setTimeout ( RepertoireDwr.ligneSuppEtSpanMessage, 1000 ) doesn't work
  
          RepertoireDwr.ligneSuppEtSpanMessage(paramDwr, function(ajaxPage) {
              divCategorie.update(divCategorie.innerHTML + ajaxPage.texte);
              aptitudeAvecDetail.remetsValeursStockees();
              var btnSuppression = $(newDivName).getElementsByTagName('img')[0];
              btnSuppression.setAttribute("onclick", "formulaireFiche.updateCSS('" + newDivName + "');" + btnSuppression.getAttribute("onclick") + "fiche.updateCategorieSuppressionAptLieeUo(\'divCat" + currentCategorie + "\');"); });
              }
          //
          // alert() : It works in this case.
          //
  
          // for (var i=0; i&lt;5000000; i++) ; it doesn't work
  
          }, 400);
      }
  </code></pre>
  
  <p>Thank you in advance for your help and time.</p>