Jaka jest różnica między typowym interfejsem API AJAX i Fetch?Fetch vs. AjaxCall
Rozważmy następujący scenariusz:
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
To co powraca fetch
połączeń:
Response {type: "cors", url: "www.testSite", status: 200, ok: true, statusText: "OK"…}
Dlaczego to zwracają różne rzeczy?
Czy istnieje sposób, aby fetch
przywrócić to samo, co typowe połączenie AJAX?
Możliwy duplikat [Jaka jest różnica między API pobierania i XMLHttpRequest?] (Http://stackoverflow.com/questions/35549547/what-is-the-difference-between-the-fetch-api-and-xmlhttprequest) – Marco
FYI: Fetch nie jest obsługiwany przez IE11 (chociaż jest tam Polyfill: https://github.com/github/fetch) –