2016-07-12 15 views
1

Ich habe eine AJAX-Anfrage, um den Benutzer einige Daten aus der Liste löschen zu lassen. Wenn der Ajax fertig ist, rufe ich eine andere Ajax-Anfrage an, so dass die Liste mit der Liste der Daten aktualisiert wird. AJAX-Request-Daten zu löschen:AJAX done() ausgeführt, wenn alle Request-Mitarbeiter fertig sind

$.ajax({ 
    method: "DELETE", 
    url: urlRequest, 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}).done(function() { 
    console.log('removed');       
    // the follow function call an ajax with get request so as the list will be updated with the new one 
    ajaxRequestToGetNewData();  
}).fail(function() { 
    console.log('fail'); 
}) 

Die Löschanfrage über eine Vielzahl von Informationen hat zu löschen, einen Text und ein paar Bilder und ich mache mir Sorgen, wenn ajaxRequestToGetNewData() wird aufgerufen werden, bevor der Server alle diese Sachen beendet.

Meine Frage: Ist die Methode für die obige Situation sicher? Wenn nicht, gibt es noch eine andere jQuery-Methode, die nur ausgeführt wird, wenn die Anfrage alle ihre Sachen beendet?

Antwort

1

Ja, es ist völlig sicher.

Der done() Handler wird nicht aufgerufen werden, bis das Versprechen der $.ajax Methode zurückgegeben wird behoben, das nur passieren wird, nachdem der Server der Verarbeitung und gibt eine Antwort 200 OK beendet hat. Wenn eine andere Antwort empfangen wird, wird stattdessen der fail() Handler ausgeführt.

In beiden Fällen wird die Serververarbeitung gestoppt, bevor eine Antwort vom Client empfangen wird.

+0

Vielen Dank für Ihre Hilfe. Alle deine Antworten sind sehr klar –

Verwandte Themen