如何使用get()和res.sendFile()函数redirect页面?
这只是不redirect到页面!
我把这个在index.html中:
$.get( "/loginPage", function( data ) {});
index.html页面主要检查用户是否login。如果是,则redirect到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 logged in!” 消息,所以我认为一切工作正常。
一些相关信息:
我已经将loginPage.html放在公共目录以及之前的目录中。 我用这个:
app.use(express.static(__dirname + '/public'));
另外,我在Windows上运行它。 反斜杠/正斜杠是否会因此而导致问题?
改变这一行:
$.get( "/loginPage", function( data ) {});
至:
window.location = '/loginPage'
所有的服务器端代码在那里工作,问题是,客户端没有做任何与ajax结果一旦有了它。 通过简单地将浏览器窗口指向该URL,它将跟随任何redirect或呈现所产生的有效载荷。