无需刷新即可获取帖子-Vanilla JavaScript和Express.js

时间:2018-08-10 20:54:57

标签: javascript express fetch

我正在制作一个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”。 如何发布帖子而不刷新?

0 个答案:

没有答案