express渲染页面后怎么几秒后跳转页面?

  1. 刚开始学express,有一个登录页,如果验证失败显示“用户名或密码错误,请重新登录!”,然后几秒后页面重定向到登录页,但是没有效果:

var express = require('express');
var router = express.Router();

router.post('/', function(req, res){
    var username = req.body.user;
    var password = req.body.password;

    if(username === 'liaoyf' && password === '123'){
        res.send('Welcome!' + username);
    }else{
        res.send('用户名或密码错误!请<a href="/">重新登录</a>');
        //这边我想重定向到登录页(登录页路径为/)
        setTimeout(function(){
            res.redirect('/');
        }, 2000);
    }
});

module.exports = router;

网上看send好像直接相应完成了,后面不会触发,那到底应该怎么处理才好?

阅读 5.8k
3 个回答
res.set('refresh', '5;url=http://example.com/');

或者在 HTML 中加入

<meta http-equiv="refresh" content="5;url=http://example.com/" />

前面那个提示错误可以用res.write(),这个不会像send()、end()结束响应的。

依旧用版主的send方法
res.send('<script>alert("用户名或密码错误,请重新登录"); setTimeout(function(){location.href="/newslist.html"},3000) </script>')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题