Heim  >  Artikel  >  Web-Frontend  >  Wie kapselt ein Versprechen Ajax? Implementierungsmethode der Versprechenskapselung Ajax

Wie kapselt ein Versprechen Ajax? Implementierungsmethode der Versprechenskapselung Ajax

不言
不言Original
2018-09-19 17:36:013226Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Frage, wie Versprechen Ajax kapselt. Die Implementierungsmethode von Promise Encapsulated Ajax hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.

Zuerst den Code posten

var ajaxOptions = {
    url: 'url',
    method: 'GET',
    async: true,
    data: null,
    dataType: 'text',
}

function ajax(protoOptions) {
    var options = {};

    for(var i in ajaxOptions){
        options[i] = protoOptions[i] || ajaxOptions[i];
    }
    

    return new Promise(function(resolve, reject){
        var xhr = new XMLHttpRequest();

        xhr.open(options.method, options.url, options.async);

        xhr.onreadystatechange = function() {
            if (this.readyState === 4 && this.status === 200) {
                resolve(this.responseText, this);
            } else {
                var resJson = {
                    code: this.status,
                    response: this.response
                }
                reject(resJson, this)
            }
        }

        xhr.send()

    })
}

Kommentare:

1, open(method, url, async)

Methode: GET und POST;

URL: an den Server gesendet

asynchron: asynchron true, synchronous false

2, onreadystatechange

Immer wenn sich der Wert von readyState ändert, führt die Funktion onreadystatechange automatisch

3, Antwortstatusinformationen des readyState-Servers aus

  • 0: Die Anforderung wird nicht initialisiert

  • 1: Die Serververbindung wurde hergestellt

  • 2: Die Anfrage wurde empfangen

  • 3: Die Anfrage wird verarbeitet

  • 4: Die Anfrage wurde abgeschlossen und die Antwort ist bereit

Wenn der Wert von readyState 4 ist und der Status Ist 200, bedeutet dies, dass die entsprechende Antwort bereit ist und die Methode erfolgreich aufgerufen werden kann, andernfalls wird die Methode nicht aufgerufen

Das obige ist der detaillierte Inhalt vonWie kapselt ein Versprechen Ajax? Implementierungsmethode der Versprechenskapselung Ajax. 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