在重定向javascript之前(或之后)显示消息

时间:2014-12-13 14:23:21

标签: javascript

我尝试在重定向之后或之前显示消息。我环顾了网站,但我发现只有jquery和php,但我只能使用普通的java语言。特别是我试图使用对我有益的div。问题是重定向是在服务器端(所以我不能调用javascript函数或我不能放一个document.getElementByID)。你能帮助我吗?这是我的代码:

var express = require('express');
var router = express.Router();
var middleware =  require('../middleware');
var mongoose = require('mongoose');
var ObjectId = mongoose.Types.ObjectId;
var User = mongoose.model('User');
var config = require("../../config");
var session;

router.all('/', middleware.supportedMethods('GET, POST'));
router.get('/', function(req, res, next) {
    res.render('login');
});
router.post('/', function (req, res) {
    var post = req.body;
    var query = User.where({userName : post.username});
    query.findOne(function(err, user){
        if (err) { return err}
        if (user) {
             user.isValidPassword(post.password, function(n, isMatch){
                if(isMatch) {
                    req.session.user_id = user._id;
                    res.redirect('/library?' + user._id);
                } else{

                    res.redirect('/login');
                }
             });
        }else{
            res.redirect('/login');
        }
    });
});

module.exports = router;

我会将消息放在res.redirect(' / login')(两者)上,并带有两条不同的消息。我不知道是否必须创建一个新的页面,相同的,带有div消息,或者我可以找到更好的解决方案......

1 个答案:

答案 0 :(得分:3)

  

我正在尝试在重定向之后或之前显示消息...问题是重定向是在服务器端(所以我不能调用javascript函数或者我不能放置document.getElementByID)。

完全。所以你不能这样做。相反,您需要将重定向返回到包含您的消息的页面,然后将 页继续(在一段时间之后,或在用户操作之后)到达最终目的地({ {1}}或其他什么。

最小中间页面可能如下所示:

/login