Holen vs. AjaxCall
Was ist der Unterschied zwischen typischen AJAX-und Fetch API?
Betrachten Sie dieses Szenario:
function ajaxCall(url) {
return new Promise(function(resolve, reject) {
var req = new XMLHttpRequest();
req.open('GET', url);
req.onload = function() {
if (req.status == 200) {
resolve(req.response);
} else {
reject(Error(req.statusText));
}
};
req.onerror = function() {
reject(Error("Network Error"));
};
req.send();
});
}
ajaxCall('www.testSite').then(x => {
console.log(x)
}) //returns html of site
fetch('www.testSite').then(x => {
console.log(x)
}) //returns object with information about call
Dies ist, was die fetch
Aufruf gibt:
Response {type: "cors", url: "www.testSite", status: 200, ok: true, statusText: "OK"…}
Warum kommt es zurück, andere Dinge?
Gibt es eine Möglichkeit für fetch
zur Rückgabe der gleichen Sache wie eine typische AJAX-call?
InformationsquelleAutor der Frage Darlyn | 2016-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fetch API gebaut hat, in der Methoden für die verschiedenen Datentypen.
Für ganz normale text/html, die Sie verwenden würden die
text()
- Methode, die eine Zusage zurückgibt, und Kette es mit einer anderen dann zu rufen.Den built-ins für die zurückgegebenen Inhalte ist wie folgt
neues Response Objekt im Zusammenhang mit einem Netzwerk-Fehler.
Können Sie auch schicke Sachen auf den server, oder fügen Sie Ihre eigenen Header etc.
InformationsquelleAutor der Antwort adeneo
Ihre ajaxCall Rücksendung der responseText vom XMLHttpRequest-Objekt. Es ist, filtern Sie es aus.
Müssen Sie die Antwort Lesen, Text in der fetch-code.
Können Sie auch
x.json()
oderx.blob()
InformationsquelleAutor der Antwort epascarello