- Вступление
- Видеоурок
- Установка
- 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/”