Quelle est la différence entre AJAX classique et Fetch API ?
Considérez ce scénario :
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
C'est ce que le fetch
l'appel revient :
Response {type: "cors", url: "www.testSite", status: 200, ok: true, statusText: "OK"…}
Pourquoi renvoie-t-il des choses différentes ?
Existe-t-il un moyen pour fetch
pour retourner la même chose qu'un appel AJAX typique ?
3 votes
Duplicata possible de Quelle est la différence entre l'API Fetch et XMLHttpRequest ?
2 votes
Pour info : Fetch n'est pas pris en charge par IE11 (bien qu'il existe un Polyfill pour cela) : github.com/github/fetch )