Zwei ajax-requests auf dasselbe Ereignis zur gleichen Zeit . was sollte das typische Verhalten? wie anders ist es, wenn Anfrage ist synchron

In den folgenden javascript-code, sende ich zwei Ajax-request zur gleichen Zeit.
Nach der Analyse mit Firebug kam ich zu ungewöhnlicher Schluss, dass :
", die immer (Ajax) - Antwort kommt, ist zuerst drucken Letzte".

Problem 2: wenn ich weisen Sie die Ajax-url-Ziel, um eine zufällige Zeichenfolge (z.B. "abcd") [nicht vorhanden] dann Gesamtanzahl der ajax-call wird erhöht auf 3?

$(document).ready(function(e) {

  $("form[ajax=true]").submit(function(e) {

    e.preventDefault();

    var form_data = $(this).serialize();
    var form_url = $(this).attr("action");
    var form_method = $(this).attr("method").toUpperCase();

    $("#loadingimg").show();

    $.ajax({
      url: form_url, 
      type: form_method,      
      data: form_data,     
      cache: false,
      success: function(returnhtml){                          
        alert ("a");
        //$("#result").html(returnhtml); 
        //$("#loadingimg").hide();                    
      }           
    });   

    $.ajax({
      url: form_url, 
      type: form_method,      
      data: form_data,     
      cache: false,
      success: function(returnhtml){                          
        //$("#duplicate").html(returnhtml); 
        //$("#loadingimg").hide();
        alert("b");
      }           
    }); 
  });
});

Entnehmen Sie bitte der folgenden Fiddle.

"which ever (ajax)response is coming first is printing last" - Vielleicht, vielleicht auch nicht. Es könnte in der Tat der Fall in Ihrem besonderen Szenario, dass dies das Ergebnis die meiste Zeit. AJAX ist per definition asynchron. Es gibt keine Garantie, die man "fertig stellen", zuerst (oder überhaupt). "Problem 2" macht nicht viel Sinn, kannst du das etwas erläutern? In der Tat, was ist Ihre Frage?
brauchen Sie geschehen, in einer bestimmten Reihenfolge?
kann ich nicht bestätigen. mit der Geige http://jsfiddle.net/d66DN/, Sie können sehen, der erste return alert-ersten. auch wenn Sie eine Anfrage an eine zufällige url erhalten Sie eine 301:premanently entfernt. Sie erhalten 3 wenn Sie nur eine url, ändern Sie 4.
können Sie bestätigen, dass dieselbe durch ausführen firebug-tool.

InformationsquelleAutor atom217 | 2014-04-10

Schreibe einen Kommentar