如何使用get()和res.sendFile()函数重定向页面?

时间:2015-01-24 06:20:16

标签: javascript node.js express

这不是重定向到页面!

我把它放在index.html中:

$.get( "/loginPage", function( data ) {});

index.html页面基本上检查用户是否已登录。如果是,则重定向到lobbyPage。 后端代码:

app.get('/loginPage', function(req,res){
console.log("Hello");
sess=req.session;
if(sess.username!=undefined)
{
    res.redirect('/lobby');
}
else
{
    console.log("Not logged in!");

    res.sendFile(__dirname + '/public/loginPage.html'); //This isn't working!
}

});

res.sendFile就是不会发送loginPage!控制台正在打印“Hello”和“Not not in!”消息,所以我认为其他一切都正常。

一些相关信息:

我已经将loginPage.html放在公共目录以及它之前的目录中。 我用过这个:

app.use(express.static(__dirname + '/public'));

另外,我在Windows上运行它。反斜杠/前进是否会导致问题?

1 个答案:

答案 0 :(得分:1)

更改此行:

$.get( "/loginPage", function( data ) {});

为:

window.location = '/loginPage'

所有服务器端代码都有效,问题是客户端在获得ajax结果后不会做任何事情。只需将浏览器窗口指向该URL,它就会跟随任何重定向或渲染生成的有效负载。