写入文件后页面未重新加载

时间:2019-07-01 10:40:19

标签: express

我正在尝试在express.js中提交简单的表单。我正在获取表单值,写入文件,然后重定向到其他页面。问题是,当我尝试写入文件时,我的页面已打开,但是我需要刷新它才能加载jquery。知道如何解决这个问题吗?

app.post('/installation', function (req, res){
    var body = {
        email: req.body.email,
        firstlastname: req.body.firstlastname,

    }

    filePath = __dirname + '/data.json'
    fs.writeFile(filePath, JSON.stringify(body), function(err) {
        if (err) { throw err }
    })
    res.redirect('/install');
})

app.get('/install',(req,res)=>{

    res.sendFile(path.join(__dirname, 'public', 'index2.html'));
});

1 个答案:

答案 0 :(得分:0)

将重定向放置在fs.writeFile调用的回调中,因此该页面仅在文件写入后 后加载:

app.post('/installation', function(req, res) {
    var body = {
        email: req.body.email,
        firstlastname: req.body.firstlastname,
    };

    filePath = __dirname + '/data.json';
    fs.writeFile(filePath, JSON.stringify(body), function(err) {
        if (err) { throw err }

        // Move redirect to inside the callback
        res.redirect('/install');
    });
});

app.get('/install', (req, res) => {
    res.sendFile(path.join(__dirname, 'public', 'index2.html'));
});