Мой код реакции
<form action = "/ContactUs/FormData" method = "POST">
...
</form>
а также
handleSubmit(){
fetch('/ContactUs/FormData')
.then((results)=>results.json())
.then((result)=>{
if (result.name==='ErrorOccured'){
this.setState({
display: 'An Error Occured. Please try again!'
});
}
else{
this.setState({
display: 'We have recorded your response '+result.name+ '. Please note your ID: '+ result.id
});
}
})
}
Мой экспресс-код
app.post("/ContactUs/FormData",function(req,res){
}
formResponse.save((err,data)=>{
if (err){
res.write(JSON.stringify({"name":"ErrorOccured"}));
}
else{
res.write(JSON.stringify(data));
}
res.redirect("/ContactUs");
});
Я хочу, чтобы при отправке данных в '/ ContactUs / FormData' их нужно было сохранить с помощью Mongoose, а затем отобразить страницу формы (два запроса ответа в одном методе публикации).
Как мне добиться этого, чтобы страница также отображалась и некоторые данные json также отправлялись в React.
Итак, как я могу сделать это любым другим методом?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Express не должен отображать страницу формы. ReactJS должен. Express должен просто ответить любыми данными, необходимыми React для отображения страницы формы.
Ваш сценарий должен быть:
res.write (без перенаправления)Обратите внимание, что Express может возвращать любые данные, включая информацию, чтобы React знал, какую страницу отображать следующей.
Так есть ли способ отреагировать на рендеринг этой страницы?
ReactJS предназначен для рендеринга страниц. Я не знаю, как должен выглядеть ваш страница формы, но вы можете построить его так же, как и ваш страница контактов. Вам, вероятно, следует прочитать документацию по React, чтобы понять, для чего вы можете его использовать.
Вы не можете, по крайней мере, не с AJAX