тип.
ичок в команде "fetch" в React. Я могу использовать его, чтобы ПОЛУЧИТЬ, но мне не повезло с его использованием для POST. Я запускаю следующий простой код.
onSubmit(event) {
// For some reason, "fetch" is GETTING instead of POSTING.
fetch('/questionare/', {
method: 'post',
body: JSON.stringify({greeting: "Hello"})
}).then((res) => alert(res.json));
}
Содержимое запроса POST обрабатывается на сервере с помощью следующего кода.
router.post('/', function(req, res, next) {
res.json(req.body);
});
Поэтому веб-браузер должен создать окно для ответа, которое является точным содержанием, которое я отправил в запросе. Этого не произошло. Я посмотрел на мой журнал сервера и обнаружил, что не выдается запрос POST. Функция «fetch», похоже, игнорирует параметр «method». Он всегда выполняет запросы «GET», даже если я скажу ему выполнить запрос «POST». Я знаю, что в другом посте они сказали, что в конце URL-адреса в запросе должна быть косая черта (fetch () выполняет GET вместо POST на реакции-нативный (iOS)). Однако, это не имело место здесь. Кто-нибудь еще видит, что не так?
РЕДАКТИРОВАТЬ 3-3-2018:
Как и предполагалось, я включил заголовки. Тем не менее, программное обеспечение по-прежнему отправляет GET вместо запросов POST. Код с использованием «fetch» теперь выглядит следующим образом. Что еще может быть не так?
onSubmit(event) {
// For some reason, "fetch" is GETTING instead of POSTING.
fetch('/questionare/', {
method: 'post',
body: JSON.stringify({greeting: "Hello"}),
headers: new Headers({
'Content-Type': 'application/json',
'Accept': 'application/json'
})
})
.then(res => res.json)
.then(console.log);
}