Существует несколько способов отправки данных на сервер с помощью axios.Я вижу путаницу с документацией в axios, я не видел этого использования раньше, и он, похоже, не работает при просмотре журналов запросов и объекта.
1) axios.post
получает тело запроса в качестве второго параметра.Поэтому, если вы хотите передать параметры в axios, вы должны сделать что-то вроде этого:
const B = 2;
const data = { A: 1, B: 1 };
axios.post(url('upVote'), {}, { params: data });
Обратите внимание, что axios будет самостоятельно обрабатывать строковое преобразование, а третий параметр - объект конфигурации .
На сервере параметры будут доступны по адресу request.query
2) Если вы хотите сами настроить параметры, то вы должны добавить их в свой URL, например,
axios.post(`url('upVote')?${qs.stringify(data)}`);
То же самое здесь, данные на сервере будут находиться под request.query
3) Как правило, лучше использовать тело почтового запроса для передачи полезных данных большого объема для удобства.Вам также следует подумать о том, каковы ваши стратегии кэширования, и если они основаны на URL-адресе запроса без учета тела запроса, это может вызывать беспокойство.
axios.post(url('upVote'), data);
В этом случае данные на сервере будут находиться под request.body
UPD: изначально забыл упомянуть, что вам понадобится промежуточное программное обеспечение body-parser
для доступа request.body
.
4) Вы можете использовать axios без сокращений методов, которые могут быть полезны для некоторых людей
axios({
method: 'POST',
url: url('upVote'),
params: data
})
Это идентично примеру 1. 1. 1035 * И все они возвращают Обещание, которое вы можете .then().catch()
или await
.