Axios - очень популярная библиотека JavaScript, которую вы можете использовать для выполнения HTTP-запросов, которая работает как на платформах Browser, так и на платформе Node.js.
- Введение в Axios
- Видеоурок
- Установка
- API Axios
- GET запросы
- Добавить параметры в запросы GET
- POST запросы
Введение в Axios
Axios - очень популярная библиотека JavaScript, которую вы можете использовать для выполнения HTTP-запросов, которая работает как в браузере, так и вNode.jsплатформы.
Он поддерживает все современные браузеры, включая поддержку IE8 и выше.
Он основан на обещаниях, и это позволяет нам писать код async / await для выполненияXHRзапросы очень легко.
Использование Axios имеет ряд преимуществ перед роднымПолучить API:
- поддерживает старые браузеры (для Fetch нужен полифилл)
- есть способ прервать запрос
- есть способ установить время ожидания ответа
- имеет встроенную защиту от CSRF
- поддерживает прогресс загрузки
- выполняет автоматическийJSONпреобразование данных
- работает в Node.js
Видеоурок
Посмотрите это видео, где я создаю сервер Express, который предлагает конечную точку POST, и делаю к нему запрос Axios для публикации данных:
Установка
Axios можно установить для использования в Node.js, используяnpm:
npm install axios
В браузере вы можете включить его на свою страницу, используя unpkg.com:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
Помня, что вызовы API должны включатьCORSдля доступа в браузере, иначе запрос не будет выполнен.
API Axios
Вы можете запустить HTTP-запрос изaxios
объект:
axios({
url: 'https://dog.ceo/api/breeds/list/all',
method: 'get'
})
Это возвращаетобещать. Вы можете использовать async / await для разрешения этого обещания объекту ответа:
;(async () => {
const response = await axios({
url: 'https://dog.ceo/api/breeds/list/all',
method: 'get'
})
console.log(response)
})()
Для удобства вы обычно будете использовать методы
axios.get()
axios.post()
Для старых, как и в jQuery, вы должны использовать
$.get()
и$.post()
вместо$.ajax()
Они предлагают более простой синтаксис. Например:
;(async () => {
const response = await axios.get('https://dog.ceo/api/breeds/list/all')
console.log(response)
})()
Axios предлагает методы для всех HTTP-глаголов, которые менее популярны, но все еще используются:
axios.delete()
axios.put()
axios.patch()
axios.options()
и метод получения HTTP-заголовков запроса, отбрасывая тело,axios.head()
.
GET запросы
Этот пример Node.js запрашиваетСобака 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 </span><span style="color:#e6db74">${</span>Object.<span style="color:#a6e22e">entries</span>(<span style="color:#a6e22e">breeds</span>.<span style="color:#a6e22e">data</span>.<span style="color:#a6e22e">message</span>).<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> 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 </span><span style="color:#e6db74">${</span>Object.<span style="color:#a6e22e">entries</span>(<span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">data</span>.<span style="color:#a6e22e">message</span>).<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> breeds
)
}
})
.catch(error => {
console.log(error)
})
}
countBreeds()
Добавить параметры в запросы GET
Ответ GET может содержать параметры в URL-адресе, например:https://site.com/?name=Flavio
.
С Axios вы можете сделать это, используя этот URL:
axios.get('https://site.com/?name=Flavio')
или вы можете использоватьparams
недвижимость в вариантах:
axios.get('https://site.com/', {
params: {
name: 'Flavio'
}
})
POST запросы
Выполнение запроса POST похоже на выполнение запроса GET, но вместоaxios.get
, ты используешьaxios.post
:
axios.post('https://site.com/')
Второй аргумент - объект, содержащий параметры POST:
axios.post('https://site.com/', {
name: 'Flavio'
})
Скачать мою бесплатнуюСправочник по Node.js
Дополнительные руководства по узлам:
- Введение в менеджер пакетов npm
- Введение в Node.js
- HTTP-запросы с использованием Axios
- Где разместить приложение Node.js
- Взаимодействовать с Google Analytics API с помощью Node.js
- Средство выполнения пакетов npx Node
- Руководство по package.json
- Где npm устанавливает пакеты?
- Как обновить Node.js
- Как использовать или выполнить пакет, установленный с помощью npm
- Файл package-lock.json
- Семантическое управление версиями с использованием npm
- Следует ли зафиксировать папку node_modules в Git?
- Обновите все зависимости Node до последней версии
- Разбор JSON с помощью Node.js
- Найдите установленную версию пакета npm
- Node.js потоки
- Установите старую версию пакета npm
- Получить текущую папку в Node
- Как зарегистрировать объект в Node
- Предоставление функциональности из файла узла с помощью экспорта
- Различия между узлом и браузером
- Сделайте HTTP-запрос POST с помощью Node
- Получить данные тела HTTP-запроса с помощью Node
- Буферы узлов
- Краткая история Node.js
- Как установить Node.js
- Сколько JavaScript вам нужно знать, чтобы использовать Node?
- Как использовать Node.js REPL
- Узел, принимать аргументы из командной строки
- Вывод в командную строку с помощью Node
- Принять ввод из командной строки в Node
- Удаление пакетов npm с помощью `npm uninstall`
- npm глобальные или локальные пакеты
- зависимости npm и devDependencies
- Цикл событий Node.js
- Понимание process.nextTick ()
- Понимание setImmediate ()
- Эмиттер событий узла
- Создайте HTTP-сервер
- Выполнение HTTP-запросов с помощью Node
- Модуль Node fs
- HTTP-запросы в Node с использованием Axios
- Чтение файлов с помощью Node
- Пути к файлам узлов
- Написание файлов с помощью Node
- Статистика файла узла
- Работа с файловыми дескрипторами в Node
- Работа с папками в Node
- Модуль пути к узлу
- Модуль Node http
- Использование WebSockets с Node.js
- Основы работы с MySQL и Node
- Обработка ошибок в Node.js
- Путеводитель по мопсу
- Как читать переменные среды из Node.js
- Как выйти из программы Node.js
- Модуль Node os
- Модуль событий узла
- Узел, разница между разработкой и производством
- Как проверить, существует ли файл в Node.js
- Как создать пустой файл в Node.js
- Как удалить файл с помощью Node.js
- Как получить дату последнего обновления файла с помощью Node.js
- Как определить, сегодня ли дата в JavaScript
- Как записать объект JSON в файл в Node.js
- Почему вам следует использовать Node.js в вашем следующем проекте?
- Запускайте веб-сервер из любой папки
- Как использовать MongoDB с Node.js
- Используйте Chrome DevTools для отладки приложения Node.js
- Что такое pnpm?
- Список параметров среды выполнения Node.js v8
- Как исправить ошибку «Отсутствует доступ для записи» при использовании npm
- Как включить модули ES в Node.js
- Как создать дочерний процесс с помощью Node.js
- Как получить в Express и разобранное, и необработанное тело
- Как обрабатывать загрузку файлов в Node.js
- Каковы одноранговые зависимости в модуле Node?
- Как написать файл CSV с помощью Node.js
- Как читать CSV-файл с помощью Node.js
- Модули ядра узла
- Увеличение номеров сразу нескольких папок с помощью Node.js
- Как распечатать холст по URL-адресу данных
- Как создать и сохранить изображение с помощью Node.js и Canvas
- Как скачать изображение с помощью Node.js
- Как массово переименовывать файлы в Node.js
- Как получить имена всех файлов в папке в Node
- Как использовать обещания и ожидания с функциями обратного вызова Node.js
- Как протестировать пакет npm локально
- Как проверить текущую версию Node.js во время выполнения
- Как использовать Sequelize для взаимодействия с PostgreSQL
- Обслуживайте HTML-страницу с помощью Node.js
- Как устранить ошибку `util.pump is not a function` в Node.js