为什么res.redirect()无法刷新当前页面?
router.get("/", function (req, res){
pool.getConnection(function (err, connection) {
connection.query('SELECT * FROM pro', function (err, rows) {
res.render("index",{"rows" : rows});
});
});
})
// delete
router.post('/delete', function (req, res){
pool.getConnection(function (err, connection) {
connection.query("DELETE FROM pro WHERE id = "+req.body.del, function (err, rows) {
connection.release();
res.redirect(301,"/");
});
});
});
res.redirect(301, "/")
之后Response的代码的确已经更新;但是页面没有重新渲染。问什么啊?
5 回复
var counter=0;
router.get("/", function (req, res){
console.log(++n);
pool.getConnection(function (err, connection) {
connection.query('SELECT * FROM pro', function (err, rows) {
res.render("index",{"rows" : rows});
});
});
})
这样追踪一下 看看
@dayuoba
res.redirect()
是走了app.get("/",.....)
的,但是页面的确没有改动,需要F5才能,你懂的。
我好像明白了,因为我的当前目录就是“/”,从根目录重定向到“/”。window.location没有变啦,所以没有刷新。。。 这么解释,比较合理。
嗯,不过想刷新试试用render不用redirect
还是不行,从“/edit"路径redirect到“/”,也不能刷新,难不成重定向就不带刷新的。express版本4.9.7