express路由到新页面后如何实现延迟几秒跳转到别的页面

发布于 2022-09-07 23:24:27 字数 984 浏览 10 评论 0

express路由到新页面后如何实现延迟几秒跳转到别的页面()

场景: 用户登录界面中输入错误的用户信息, 路由到/login, 提示用户信息错误(期望是显示在页面上,非弹窗方式), N秒后跳转回用户登录界面.

相关代码

var pool = require('../pool.js');
var router = express.Router();
router.post('/login', function(req,res){//路由到登录界面
    console.log(req.body);
    var sql = 'SELECT * FROM xz_user WHERE uname=? AND upwd=?';//sql部分与问题无关,忽略
    pool.query(sql, [req.body.uname, req.body.upwd], function(err, result){
        if (err)
        {
            throw err;
        }
        if (result.length == 0)
        {            
            //res.send('用户不存在,请重新登录');
            setTimeout(function(){
                res.redirect('http://localhost:3000/user_login.html');
            }, 3000);
        }else 
            res.send('登录成功');
    });
});

预期结果: 1.用户输入用户名密码错误 => 2.路由到/login => 3.显示"用户不存在,请重新登录" => 4.延迟N秒 => 5.跳转回登录界面
实际结果: 不能实现第3步.
res.send();后的代码不执行,所以该怎样实现在路由到的页面提示用户不存在,然后再延迟跳转回登录界面呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森林散布 2022-09-14 23:24:27

把延迟的逻辑放到前端。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文