我正在尝试设置一个人,如果一个人输入了正确的密钥(1234),但当他们输入正确的密钥时,它会发出错误
错误[ERR_HTTP_HEADERS_SENT]:无法在将标头发送到客户端后设置标头
idk做什么我在设置cookie之前尝试重定向,甚至只是在重定向后记录,但错误不会消失!
继承我的代码: key的定义不在本部分中
app.get("/", function(req,res) {
if (req.cookies.userSecret == key) {
res.sendFile(__dirname + "/index.html");
} else {
res.sendFile(__dirname + "/login.html")
io.on("connection", function(socket) {
socket.on("login", function(data){
if (data == key) {
res.redirect("/1799fd8e-78aa-4bc0-9692-011a81c07248")
return false;
} else {
io.emit("log", "Wrong key! try again")
return false;
}
})
})
}
});
app.get("/1799fd8e-78aa-4bc0-9692-011a81c07248", function(req,res) {
console.log(key)
res.sendFile(__dirname + "/index.html")
})
答案 0 :(得分:2)
在请求已发送后,您无法重定向用户。您必须从客户端重定向用户。就像您在else部分中执行此操作一样,您将向用户发出一个事件,其中包含要重定向到的URL,并在客户端接收此事件并使用window.location
更改URL。