Heim >Web-Frontend >js-Tutorial >Wie kann ich mit dem „onComplete'-Handler von Prototype auf AJAX-Antworttext zugreifen?

Wie kann ich mit dem „onComplete'-Handler von Prototype auf AJAX-Antworttext zugreifen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-12 12:41:11777Durchsuche

How Can I Access AJAX Response Text Using Prototype's `onComplete` Handler?

AJAX-Antworttext im Prototyp abrufen

AJAX-Antworten liegen häufig im Textformat vor und das Abrufen dieses Textes ist für die weitere Verarbeitung von entscheidender Bedeutung. Prototype bietet eine bequeme Möglichkeit, auf diesen Antworttext zuzugreifen, erfordert jedoch eine leichte Anpassung des üblichen Ansatzes.

Im Code-Snippet ist der onComplete-Ereignishandler der Ort, an dem der Antworttext abgerufen werden soll. Allerdings ist die Variable „result“ in der anfänglichen Implementierung aufgrund asynchroner Vorgänge außerhalb der onComplete-Funktion nicht zugänglich.

Um dies zu umgehen, ermöglicht der onComplete-Handler von Prototype eine Callback-Funktion als Parameter. Diese Rückruffunktion wird ausgeführt, wenn die AJAX-Anfrage abgeschlossen ist, und sie kann den Antworttext als Argument empfangen.

Hier ist der geänderte Code:

somefunction: function(callback) {
  var result = "";
  myAjax = new Ajax.Request(postUrl, {
    method: 'post',
    postBody: postData,
    contentType: 'application/x-www-form-urlencoded',
    onComplete: function (transport) {
      if (200 == transport.status) {
        result = transport.responseText;
        callback(result);
      }
    }
  });
}

Wenn Sie eine Funktion aufrufen, geben Sie die Rückruffunktion an als anonyme Funktion:

somefunction(function (result) {
  alert(result);
});

Dieser Ansatz stellt sicher, dass der Antworttext in der Callback-Funktion zugänglich ist und eine weitere Verarbeitung ermöglicht Anzeige.

Das obige ist der detaillierte Inhalt vonWie kann ich mit dem „onComplete'-Handler von Prototype auf AJAX-Antworttext zugreifen?. 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