Ich habe ein onclick
Ereignis für eine radio button
, die eine Funktion aufruft, die Zeit startet AJAX-Aufrufe zu einem gewissen urlperiodische Ajax-Aufruf Signalisierung zu beenden
Beispiel in MVC cshtml Ansicht
<script>
function onClick(selectedRowId) {
GetData("/home/GetData/" + selectedRowId);
};
</script>
Ajax nennen
function GetData(url) {
$.ajax({
url: url,
type: "GET",
cache: false,
contentType: "application/json; charset=utf-8",
success: onSuccess,
error: onError,
complete: function (xhr, status) {
setTimeout(function() {
GetData(url);
}, 10000);
}
});
}
Wenn ein anderer radio button
ausgewählt ist, muss ich die onClick
Methode mit dem ausgewähltenaufrufenund dies initiiert erneut einen Aufruf der URL mit der anderen ID.
Ich möchte jedoch, dass der vorherige AJAX-Funktionsaufruf beendet wird, da die Methode AJAX onSuccess
ein HTML-Element mit den Daten aktualisiert, die für diese spezifische ausgewählte ID abgerufen wurden.
Gibt es eine Möglichkeit, den vorherigen Anruf zu terminieren, bevor er neu gestartet wird?
Eine Möglichkeit, dies zu lösen konnte
a) sein Nicht-ID als Paramter auf den URL-Aufruf dann
b) in der onClick
Methode sendet einen Aufruf an Server, um die Id Variable (diese Einstellung vornehmen, in nur einmal aufgerufen wird und Server-Daten ändern basiert gefördert (a) stellt den Server bewusst, dass alle Daten für diese Id)
c) gewährleisten, dann, dass ajax-Funktion zurückgegeben, um es auf Id Informationen
zurückgegeben werden muss Nicht s ure, wenn sich die Server-Rundfahrt hier für jeden Button-Klick lohnt.