无法使用res.redirect()方法express + NodeJS进行重定向

时间:2018-10-09 12:49:07

标签: node.js express

大家好。 我正在用nodeJs构建我的第一个应用程序。到目前为止一切都很好。尝试使用NodeJS应用程序中的服务器端代码进行重定向时,我没有遇到任何问题,但是在浏览器上它停留在同一页面上,并且没有从索引页面重定向到聊天室页面。

Index.js

var express = require('express');
var router = express.Router();
var obj = require('../bin/www');
var db = require('../databaseModels');



/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express Chat' });
});




//here we will save the username of the New user
router.post("/setUserName", async function(req,res) {
try{
    var newUser = new db.Users(req.body);
    await newUser.save()
    //Emit the event that a new user has joined the chat
    obj.io.emit("newUserJoined", req.body)
    return res.redirect(301,"http://192.168.34.54:4747/chatroom");
}
catch(error) {
    res.sendStatus(500);
    console.log(error);
}
})

module.exports = router;

chatroom.js

var express = require('express');
var router = express.Router();
var obj = require('../bin/www');
var db = require('../databaseModels');

/* GET users listing. */
router.get('/', function(req, res, next) {
    res.render('chatroom', {title: 'Welcome to Chat Room'});
});


module.exports = router;

任何回应都值得赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

像在使用“索引”路由器一样,在bin / www中使用“聊天室”路由器。

app.use('/chatroom',chatroom);

在索引路由器中,在调用聊天室路由器时使用相对路径。

return res.redirect(301,"/chatroom");