@justifycontent

Какие методы отправки http запросов сейчас наиболее современные, актуальные?

Какие методы отправки http запросов сейчас наиболее современные, актуальные?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 2
E1ON
@E1ON Куратор тега JavaScript
Programming, Gamedev, VR
Комментировать
KulakovAngel
@KulakovAngel
Full Stack Developer (Node.JS)
Если Вы находитесь на стадии обучения основам JS/front-end, вначале изучите XMLHttpRequest и технологию HTTP (основы). На основе него создана промис-обертка (гораздо удобнее в реальном использовании) - Fetch. Но и это еще не конец.

В реальной разработке часто используют готовые решения, упрощающие решение. Например, для разработки клиента часто используют React, Vue, Angular и др.. Для управления состоянием приложения - Redux, MobX и др.. Так вот, хорошая библиотека для выполнения запросов - это Axios. Чем она лучше Fetch? Во-первых, самостоятельно парсит тело ответа (например, в/из JSON), отправляет необходимые заголовки. Сравните:
fetch('https://jsonplaceholder.typicode.com/users')
    .then(res => res.json())
    .then(users => dispatch(addUsers(users)));

axios('https://jsonplaceholder.typicode.com/users')
    .then(users => dispatch(addUsers(users)));

Также axios добавляет много полезностей - заголовки ответа вместе с телом в одном объекте, выброс исключения при ошибочных кодах состояния ответа сервера, кастомизация, несколько экземпляров и прочее, хотя, скорее всего, это все Вы изучите и поймете позже.

Стоит понимать разницу между AJAX, XMLHttpRequest, Fetch, Axios.
  • AJAX - технология опроса сервера без перезагрузки (противовес ей - отправка данных кнопкой submit или ссылкой "a href="""). Чаще всего сегодня данными сервер и клиент обменивается через JSON
  • jQuery.ajax() - метод библиотеки jQuery, обертка над XMLHttpRequest. Т.е. библиотека.
  • XMLHttpRequest - объект браузера (BOM), позволяющий отправлять запросы к серверу, т.е. реализация упомянутой в первом пункте технологии AJAX
  • Fetch - более современный метод, использующий промисы. Более удобен, но под капотом используется XMLHttpRequest, естественно.
  • Axios - одна из библиотек (т.е. ее нужно подключать, как, например, тот же jQuery), наверное, самая распространенная, еще более упрощающая реальную разработку.


Изучайте архитектуру на React (или др. фрэймворке), и увидите насколько проще использовать axios.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы