我尝试在重定向之后或之前显示消息。我环顾了网站,但我发现只有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消息,或者我可以找到更好的解决方案......
答案 0 :(得分:3)
我正在尝试在重定向之后或之前显示消息...问题是重定向是在服务器端(所以我不能调用javascript函数或者我不能放置document.getElementByID)。
完全。所以你不能这样做。相反,您需要将重定向返回到包含您的消息的页面,然后将 页继续(在一段时间之后,或在用户操作之后)到达最终目的地({ {1}}或其他什么。
最小中间页面可能如下所示:
/login