Heim >Web-Frontend >js-Tutorial >Wie kann ich mit dem „onComplete'-Handler von Prototype auf AJAX-Antworttext zugreifen?
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!