/ / Wie man HTTP-Operationen von einer einfachen ES6-Anwendung aus ausführt - json, http, ecmascript-6, xmlhttprequest

Wie man Http-Operationen von einfacher ES6-Anwendung macht - json, http, ecmascript-6, xmlhttprequest

Ich entwickle einfache Anwendung ohne irgendeinen Rahmen.

Wie kann ich einfache HTTP-Anfragen (get / post) machen?

Ich weiß über XMLHttpRequest ():

var xhr = new XMLHttpRequest();

xhr.open("GET", "phones.json", false);

xhr.send();

if (xhr.status != 200) {

alert( xhr.status + ": " + xhr.statusText );
} else {
alert( xhr.responseText );
}

Aber vielleicht gibt es einen anderen Weg?

  • Ohne irgendwelche Bibliotheken bitte.

Antworten:

1 für die Antwort № 1

Nun, meines Wissens gibt es nichts in der es6 Spezifikationen Das hat die XMLHttpRequest API geändert, um es einfacher zu machen, also ist es ein Nein zu deiner Frage.

Du musst noch ein paar Zeilen schreiben, um es mehr "es6 style" zu machen, wie es zum Beispiel zu promistifizieren, wie hier:

const request = (params) => {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open(params.method || "GET", params.url);
if (params.headers) {
Object.keys(params.headers).forEach(key => {
xhr.setRequestHeader(key, params.headers[key]);
});
}
xhr.onload = () => {
if (xhr.status >= 200 && xhr.status < 300) {
resolve(xhr.response);
} else {
reject(xhr.statusText);
}
};
xhr.onerror = () => reject(xhr.statusText);
xhr.send(params.body);
});
};