Heim >Web-Frontend >js-Tutorial >Wie kann ich AJAX-Antworttext synchron in Prototype.js abrufen?

Wie kann ich AJAX-Antworttext synchron in Prototype.js abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-26 04:32:131032Durchsuche

How Can I Retrieve AJAX Response Text Synchronously in Prototype.js?

Asynchroner JavaScript- und XML-(AJAX)-Antworttextabruf

Im Kontext der prototypbasierten AJAX-Entwicklung stellt das Abrufen des Antworttextes eine Herausforderung dar Herausforderung. Betrachten Sie den folgenden Code:

somefunction: function(){
    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;
            }
        }
    });
    return result;
}

In diesem Snippet wird die Funktion „onComplete“ asynchron ausgeführt, lange nachdem die Funktion „someFunction“ abgeschlossen ist. Dies führt zu einer leeren „Ergebnis“-Variable.

Um dies zu umgehen, wird in der bereitgestellten Antwort eine Lösung vorgeschlagen: Führen Sie eine Rückruffunktion für „someFunction“ als Parameter ein. Dieser Rückruf wird aufgerufen, sobald die AJAX-Operation abgeschlossen ist.

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);
            }
        }
    });

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

In diesem Fall nimmt „someFunction“ einen Rückruf als Parameter und ruft ihn mit auf Antworttext. Im Beispiel zeigt die Callback-Funktion eine Warnung mit dem abgerufenen Text an. Dieser Mechanismus stellt sicher, dass der Antworttext bei Bedarf für nachfolgende Funktionen verfügbar ist.

Das obige ist der detaillierte Inhalt vonWie kann ich AJAX-Antworttext synchron in Prototype.js abrufen?. 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