Новый window.fetch
API - более чистая замена для XMLHttpRequest
, которая использует обещания ES6. Здесь есть хорошее объяснение , но оно сводится к (из статьи):
fetch(url).then(function(response) {
return response.json();
}).then(function(data) {
console.log(data);
}).catch(function() {
console.log("Booo");
});
Поддержка браузера теперь хорошо работает в последних версиях (работает в Chrome, Firefox, Edge (v14), Safari (v10.1), Opera, Safari iOS (v10.3), браузере Android, и Chrome для Android), однако IE, скорее всего, не получит официальную поддержку. В GitHub имеется полифилл , который рекомендуется для поддержки старых браузеров, которые все еще широко используются (особенно в версиях Safari до марта 2017 г. и мобильных браузерах того же периода).
Полагаю, удобнее ли это, чем jQuery или XMLHttpRequest или нет, зависит от характера проекта.
Вот ссылка на спецификацию https://fetch.spec.whatwg.org/
Редактировать
Используя ES7 async / await, это становится просто (на основе this Gist ):
async function fetchAsync (url) {
let response = await fetch(url);
let data = await response.json();
return data;
}