我正在制作一个Express.js应用程序,该应用程序具有将联系信息发送到具有邮政功能的邮件地址的形式。我使用的是“前端帖子”,因为如果完全从后端进行操作,则需要一条路线来跟踪帖子。 我想发布信息而不刷新页面,但是我做不到。 我的前端代码:
formButton.addEventListener("click", ()=>{
fetch('http://localhost:3000/contact', {
method: 'POST',
body: JSON.stringify({
nombre: form.elements["nombre"].value,
email: form.elements["email"].value,
consulta: form.elements["consulta"].value
}),
headers:{
'Content-Type': 'application/json'
}
}).then(response=>{
if(response.ok){
return response.json;
}
throw new Error('Request failed');
}, newtworkError => console.log(networkError.message)
).then(jsonResponse =>{
console.log(jsonResponse);
});
});
处理请求的服务器端代码是:
app.post('/contact', (req,res)=>{
sendMail(req.body.nombre, req.body.email, req.body.consulta);
});
使用nodemailer通过sendMail函数发送邮件,并且可以正常工作,但是在执行该功能后,页面将刷新,并在URL栏中显示URL“ http://localhost:3000/?nombre=XXX&email=XXX%40XX&consulta=XX”。 如何发布帖子而不刷新?