Heim >Web-Frontend >js-Tutorial >Ist es möglich, jQuery AJAX Success Callback-Funktionen extern zu definieren?

Ist es möglich, jQuery AJAX Success Callback-Funktionen extern zu definieren?

Barbara Streisand
Barbara StreisandOriginal
2024-10-18 19:27:031030Durchsuche

Is It Possible to Define jQuery AJAX Success Callback Functions Externally?

Erfolgsrückruffunktionen für jQuery AJAX definieren

Beim Abrufen von Daten von einem Server mit jQuery AJAX definieren Entwickler häufig die Erfolgsrückruffunktion innerhalb von .ajax()-Block. Ist es jedoch möglich, die Rückruffunktion extern zu definieren?

Externe Rückruffunktion

Das bereitgestellte Codefragment versucht, die Erfolgsrückruffunktion außerhalb von .ajax() zu definieren. block:

var dataFromServer;  //declare the variable first

function getData() {
    $.ajax({
        url : 'example.com',
        type: 'GET',
        success : handleData(dataFromServer)
    })
}

function handleData(data) {
    alert(data);
    //do some stuff
}

Empfehlung: Verwenden Sie verzögerte Objekte

Während das Code-Snippet technisch funktionieren kann, wird nicht mehr empfohlen, den Erfolgsrückruf außerhalb der .ajax-Datei zu definieren ()-Block. Verwenden Sie stattdessen verzögerte Objekte:

function getData() {
    return $.ajax({
        url : 'example.com',
        type: 'GET'
    });
}

function handleData(data /* , textStatus, jqXHR */ ) {
    alert(data);
    //do some stuff
}

getData().done(handleData);

Verzögerte Objekte bieten mehrere Vorteile:

  • Entkopplung: Sie trennen die Callback-Verarbeitung von der AJAX-Verarbeitung und ermöglichen so eine einfachere Wartung .
  • Mehrere Rückrufe: Verzögerte Objekte unterstützen das Hinzufügen mehrerer Erfolgs- und Fehlerrückrufe.
  • Synchronisierung: Sie ermöglichen eine einfache Synchronisierung mehrerer asynchroner Ereignisse, z als AJAX-Aufrufe und Timer.

Die Verwendung verzögerter Objekte bietet mehr Flexibilität und Kontrolle über die AJAX-Rückrufverarbeitung und macht es zu einem robusteren und moderneren Ansatz.

Das obige ist der detaillierte Inhalt vonIst es möglich, jQuery AJAX Success Callback-Funktionen extern zu definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn