Ich führe simultane AJAX-Anfrage auf einen Knopfklick aus.Wie verfolgen Sie laufende Ajax-Anfragen?
Ich habe eine Tabelle mit einer Liste von Alarmen und jede Zeile hat eine eigene Taste, die einmal geklickt wird versucht, den Alarm in der db zu löschen und dann entferne ich es aus der Tabelle.
Ich kann auf diese Schaltflächen nacheinander klicken und eine Ajax-Anfrage auslösen.
Problem:
lässt ich auf einen Knopf sagen klicken und aus irgendeinem Grund dieser Zeit und der Benutzer nimmt verwaltet noch zu klicken Sie auf eine andere Taste, um eine neue Ajax zu starten.
Ich möchte einen Skriptblock in meinem AJAX-Succes-Methode ONLY ausführen, wenn alle AJAX-Anforderungen im aktuellen Bereich abgeschlossen sind.
Code:
$(".signAlarm")
.on("click",
function() {
var _this = $(this).parents(".alarmRow");
var alarm = {
Id: $(_this).data("id")
}
$.automation.worker.postJson("/Alarm/SigAlarm",
JSON.stringify({ alarm }),
function (data) {
if (!$.automation.worker.ajaxActive()) {
// execute this if all the sign alarm attempts are finished
}
$(_this).remove();
});
});
ajaxActive Funktion:
ajaxActive: function() {
if ($.active) return true;
return false;
}
wenn Suche nach einer Antwort ich jquery.active gefunden, die ich oben in dem Versuch verwenden, aber wenn ich überprüfen Sie die jquery.active in meinem Erfolg Methode Es ist "1" und nicht 0, obwohl nur ein Knopfklick gemacht wurde.
Ich überprüfte auch this post, die mich an jquery.active oben aber alos $ .ajaxStart und $ .ajaxStopp denken ließ. Das Problem mit $ .ajaxStart und $ .ajaxStopp und soweit ich verstehe ist, dass sie global sind und ich möchte, dass bestimmte Codes ausgeführt werden, wenn diese Alarme signiert werden und nicht möchten, dass dies auf jeder Seite passiert, wenn ein Ajax ist gemacht.
Wie verwalte ich das?
Sie möchten die AJAX-Anrufe verfolgen oder nur Code ausführen, nachdem die Liste der Anrufe beendet wurde? – Aravind
Ich möchte Skript ausführen, wenn alle Ajax in diesem Bereich cmplested sind. In Anbetracht dessen sind diese Anforderungen nicht von einander abhängig. Ich möchte einfach wissen, ob der Browser irgendwelche Ajax-Anfragen ausführt, wenn ich zu meiner Erfolgsmethode zurückkomme. Wenn noch eine jax-Anfrage läuft (der Benutzer hat auf eine weitere Schaltfläche geklickt), dann tun Sie nichts, sonst führen Sie das Skript aus – ThunD3eR