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

How to redirect pages using get() and res.sendFile() function?

本文关键字:函数 重定向 sendFile 何使用 get res      更新时间:2023-09-26

这只是没有重定向到页面!

我把它放在索引中.html:

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

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

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 就是不会发送登录页面!控制台正在打印"您好"和"未登录!"消息,所以我认为其他一切正常。

一些相关信息:

我已经将登录页面.html放在公共目录和它之前的目录中。我用过这个:

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

另外,我正在Windows上运行它。反斜杠/正斜杠会因此导致问题吗?

更改此行:

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

自:

window.location = '/loginPage'

那里的所有服务器端代码都可以工作,问题是客户端一旦拥有 ajax 结果就没有对它做任何事情。 只需将浏览器窗口指向该 URL,它就会遵循任何重定向或呈现生成的有效负载。