Ich mache eine AJAX-Anfrage, die tatsächlich so aussieht.Benötigen Sie Hilfe in AJAX Spinner Anzeige
$loading = $("#loadingDiv")
function loadBuildList() {
$.ajax({
async:true,
url:"ajax_test.php",
beforeSend : function() { $loading.show(); },
success : function() { $loading.hide() }
});
}
Nun, ich brauche ein Spinner Bild anzuzeigen, während die Ajax ausgeführt wird, auch ist mein Code nicht soll weiter auszuführen, bis die Ausführung des Ajax vorbei ist. Wenn ich async:false
mache, kann ich den Spinner nicht laden. Wenn ich async:true
mache, kann ich nicht warten, bis die Ajax-Ausführung beendet ist.
Unten ist, wie ich die Funktion nenne loadBuildList
...
//$loading.show(); // this I will use when aync : false
loadBuildList()
//$loading.hide();
...
Wie kann ich eine solche Situation umgehen? Kann mir bitte jemand dabei helfen?
Mögliches Duplikat [? Wie kann ich die Antwort von einem asynchronen Aufruf zurückkehren] (http://stackoverflow.com/questions/14220321/how -do-i-return-the-response-from-async-call) –
Siehe verlinkt - es erklärt, wie Sie Ihr Design umstrukturieren/überdenken. –
Wenn Sie einen originalen Async-Aufruf synchron machen müssen, damit Ihr Code funktioniert, codieren Sie ihn falsch. Sie können entweder den auszuführenden Code in den Erfolgsrückruf einfügen oder Promises verwenden (empfohlen). – melancia