- Вступление
- Видеоурок
- Установка
- API Аксиомы
- ПОЛУЧАТЬ запросы
- Добавьте параметры для получения запросов
- ОТПРАВЛЯТЬ Запросы
Вступление
Axios – это очень популярная библиотека JavaScript, которую вы можете использовать для выполнения HTTP-запросов, которая работает как в браузере, так и Node.js платформы.
Он поддерживает все современные браузеры, включая поддержку IE8 и выше.
Он основан на обещаниях, и это позволяет нам писать асинхронный/ожидающий код для очень простого выполнения запросов XHR.
Использование Axios имеет немало преимуществ по сравнению с собственным API выборки:
- поддерживает старые браузеры (для выборки требуется заполнение)
- есть способ прервать запрос
- есть способ установить время ожидания ответа
- имеет встроенную защиту CSRF
- поддерживает прогресс загрузки
- выполняет автоматическое преобразование данных JSON
- работает в Node.js
Видеоурок
Посмотрите это видео, где я создаю экспресс-сервер, который предлагает конечную точку отправки, и я делаю к нему запрос Axios для отправки данных:
Установка
Аксиомы могут быть установлены с помощью npm:
npm install axios
или пряжа:
yarn add axios
или включите его на своей странице, используя unpkg.com:
API Аксиомы
Вы можете запустить HTTP-запрос с оси объект:
Я использую foo
и бар
как случайные имена . Введите любое имя, чтобы заменить их.
axios({ url: 'https://dog.ceo/api/breeds/list/all', method: 'get', data: { foo: 'bar' } })
но для удобства вы, как правило, будете использовать
аксиос.получить()
axios.сообщение()
(как в jQuery, вы бы использовали $.get ()
и $.post ()
вместо $.ajax()
)
Axios предлагает методы для всех HTTP-глаголов, которые менее популярны, но все еще используются:
аксиос.удалить()
axios.положить()
axios.патч()
axios.параметры()
и метод получения HTTP-заголовков запроса, отбрасывающий тело:
аксиос.голова()
ПОЛУЧАТЬ запросы
Одним из удобных способов использования Axios является использование современного (ES2017) синтаксиса async/await.
Это Node.js пример запрашивает Dog API , чтобы получить список всех пород собак, используя axios.get()
, и он их подсчитывает:
const axios = require('axios') const getBreeds = async () => { try { return await axios.get('https://dog.ceo/api/breeds/list/all') } catch (error) { console.error(error) } } const countBreeds = async () => { const breeds = await getBreeds() if (breeds.data.message) { console.log(`Got ${Object.entries(breeds.data.message).length} breeds`) } } countBreeds()
Если вы не хотите использовать async/await, вы можете использовать синтаксис обещаний:
const axios = require('axios') const getBreeds = () => { try { return axios.get('https://dog.ceo/api/breeds/list/all') } catch (error) { console.error(error) } } const countBreeds = async () => { const breeds = getBreeds() .then(response => { if (response.data.message) { console.log( `Got ${Object.entries(response.data.message).length} breeds` ) } }) .catch(error => { console.log(error) }) } countBreeds()
Добавьте параметры для получения запросов
Ответ GET может содержать параметры в URL-адресе, например: https://site.com/?foo=bar
.
С помощью Axios вы можете выполнить это, используя этот URL-адрес:
axios.get('https://site.com/?foo=bar')
или вы можете использовать свойство params
в параметрах:
axios.get('https://site.com/', { params: { foo: 'bar' } })
ОТПРАВЛЯТЬ Запросы
Выполнение запроса POST аналогично выполнению запроса GET, но вместо axios.get
, вы используете axios.post
:
axios.post('https://site.com/')
Объект, содержащий параметры POST, является вторым аргументом:
axios.post('https://site.com/', { foo: 'bar' })
Оригинал: “https://flaviocopes.com/node-axios/”