在浏览器中使用后退键,没有触发路由,求解
发布于 11 年前 作者 derost 3770 次浏览 最后一次编辑是 8 年前

exports.gets = function(req, res){

if (req.session.name && req.session.name !== '') {
    res.render('chat');
}else{
    res.redirect('/login');
}

};

exports.kill = function(req,res){ if(req.session.name && req.session.name !==’’) { req.session = null; res.clearCookie(‘chating’); res.redirect(’/login’); }else{ res.redirect(’/chats’,res.flash(‘error’,‘cannot kill’)); } }

代码如上,我希望在访问gets页面时,判断name是否存在,若存在则显示chat页面,否则跳转到login页面。 但是,当我执行了kill操作后,按下浏览器的后退按钮,仍然能访问chat页面,而debug中并没有触发gets函数~求大神帮忙。我是希望按下后退按钮后仍然能根据是否存在name而跳转。

2 回复

look this :


exports.gets = function(req, res){
  if (req.session.name) {
      res.render('chat');
  }else{
      res.redirect('/login');
  }
};

exports.kill = function(req,res){
  if(req.session.name) {
      req.session.name = null;
      res.redirect('/login');
  }else{
      res.redirect('/chats');
  }
}

hope help you.


签名 《Node.js 服务器框架开发实战》 http://url.cn/Pn07N3

后退不是浏览器缓存了你的页面么,不是你去请求的吧。

回到顶部