я сделал базовый узел / экспресс-сервер, и у меня есть маршрут, который обрабатывает отправку данных формы (я сделал с помощью реакции), почтовый запрос обрабатывается с использованием async / await с fetch api .. я не уверен, что проблема связана с моим маршрутом на стороне сервера или моей реализацией запроса post с помощью async / await fetch. однако сервер получает данные формы, он просто не возвращает ответ.
мой код:
узел / экспресс-маршрут
router.post('/add', function (req, res) {
console.log(req.body);
res.json({success : "Updated Successfully", status : 200});
});
примечание: console.log (печатает ожидаемые данные, но клиент не получает ответ корректно)
реализация после запроса:
const postRequestHelper = async (routePath, objectPayload) => {
console.log("posting payload object: ");
console.log(objectPayload);
const rawResponse = await fetch(routePath, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(objectPayload)
});
const response = await rawResponse.json();
return response;
};
export default postRequestHelper;
код отправки формы, где вызывается почтовый запрос:
async handleSubmit(event) {
if(typeof this.state.validationMessages === "undefined"){
// create payload data object
let objectPayload = Object.assign({}, this.state);
for(let key in objectPayload){
if(!isInObject(key, formKeyConstants)) // delete any prop keys that aren't in formPropertyKeys js file
delete objectPayload[key]
}
// send post request
console.log(objectPayload);
const response = await postRequestHelper("http://localhost:8080/user/add", objectPayload);
// log response data
console.log("response");
console.log(response);
}
event.preventDefault();
}