我正在尝试在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'));
});
答案 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'));
});