Удобный справочник по всем свойствам объекта запроса и способам их использования.
Параметры запроса
Я упомянул, как объект Request хранит всю информацию о HTTP-запросе.
Вот основные свойства, которые вы, вероятно, будете использовать:
Свойство | Описание |
---|---|
.приложение | содержит ссылку на объект приложения Express |
.baseUrl | базовый путь, по которому приложение отвечает |
.тело | содержит данные, отправленные в теле запроса (должны быть проанализированы и заполнены вручную, прежде чем вы сможете получить к нему доступ) |
.печенье | содержит файлы cookie, отправленные по запросу (требуетсяcookie-parser промежуточное ПО) |
.hostname | имя хоста, как определено вHTTP-заголовок хостаценить |
.ip | клиентский IP |
.method | используемый метод HTTP |
.params | параметры маршрута с именем |
.дорожка | путь URL |
.protocol | протокол запроса |
.запрос | объект, содержащий все строки запроса, используемые в запросе |
.безопасный | истина, если запрос защищен (использует HTTPS) |
.signedCookies | содержит подписанные файлы cookie, отправленные запросом (требуетсяcookie-parser промежуточное ПО) |
.xhr | истина, если запрос являетсяXMLHttpRequest |
Как получить параметры строки запроса GET с помощью Express
Строка запроса - это часть, которая идет после пути URL и начинается с вопросительного знака.?
.
Пример:
?name=flavio
Можно добавить несколько параметров запроса с помощью&
:
?name=flavio&age=35
Как получить эти значения строки запроса в Express?
Express упрощает эту задачу, заполняяRequest.query
объект для нас:
const express = require('express')
const app = express()
app.get(’/’, (req, res) => {
console.log(req.query)
})
app.listen(8080)
Этот объект заполняется свойством для каждого параметра запроса.
Если параметров запроса нет, это пустой объект.
Это упрощает итерацию с помощью цикла for… in:
for (const key in req.query) {
console.log(key, req.query[key])
}
Это напечатает ключ свойства запроса и значение.
Вы также можете получить доступ к отдельным свойствам:
req.query.name //flavio
req.query.age //35
Как получить параметры строки запроса POST с помощью Express
Параметры запроса POST отправляются HTTP-клиентами, например, с помощью форм или при выполнении запроса POST, отправляющего данные.
Как вы можете получить доступ к этим данным?
Если данные были отправлены какJSON, с помощьюContent-Type: application/json
, вы будете использоватьexpress.json()
промежуточное ПО:
const express = require('express')
const app = express()
app.use(express.json())
Если данные были отправлены с использованиемContent-Type: application/x-www-form-urlencoded
, вам нужно будет использоватьexpress.urlencoded()
промежуточное ПО:
const express = require('express')
const app = express()
app.use(express.urlencoded({
extended: true
}))
В обоих случаях вы можете получить доступ к данным, обратившись к ним изRequest.body
:
app.post('/form', (req, res) => {
const name = req.body.name
})
Примечание: более старые версии Express требовали использования
body-parser
модуль для обработки данных POST. В Express 4.16 (выпущенном в сентябре 2017 г.) и более поздних версиях этого больше не происходит.
Скачать мою бесплатнуюСправочник Express.js
Дополнительные экспресс-руководства:
- Express, популярный фреймворк Node.js
- Получить параметры строки запроса GET с помощью Express
- Проверка ввода в Express с помощью экспресс-валидатора
- Экспресс-шаблоны
- Обслуживание статических активов с помощью Express
- Отправить ответ JSON с помощью Express
- Экспресс-сессии
- Отправьте ответ с помощью Express
- Отправляйте файлы с помощью Express
- Очистка ввода в Express с помощью экспресс-валидатора
- Маршрутизация в экспрессе
- Сервер Express HTTPS с самозаверяющим сертификатом
- Экспресс, параметры запроса
- Получить параметры запроса POST с помощью Express
- Обработка переадресации с помощью Express
- Экспресс промежуточное ПО
- Настроить Let's Encrypt для Express
- Работа с заголовками HTTP в Express
- Обработка форм в Express
- Обработка загрузки файлов в формы с помощью Express
- Обработка CORS в Express
- Управляйте файлами cookie с помощью Express