gpt4 book ai didi

node.js - 使用渲染时将 header 发送到客户端后无法设置 header

转载 作者:太空宇宙 更新时间:2023-11-03 23:52:00 25 4
gpt4 key购买 nike

我试图在作为新页面登录后获取 hbs 文件

这是我的登录信息

app.post('/auth', function(request, response) {
var username = request.body.username;
var password = request.body.password;
if (username && password) {
db.query('SELECT * FROM accounts WHERE username = ? AND password = ?', [username, password], function(error, results, fields) {
if (results.length > 0) {
request.session.loggedin = true;
request.session.username = username;
response.redirect('/home');
} else {
response.send('Incorrect Username and/or Password!');

}
response.end();
});
} else {
response.send('Please enter Username and Password!');
response.end();
}
});

如果获得授权,这是我的功能

app.get('/home', function(request, response) {
if (request.session.loggedin) {
//here is getting an error
response.render('home');
} else {
response.send('Please login to view this page!');
}
response.end();
});

错误信息

Cannot set headers after they are sent to the client

我的目录

enter image description here

最佳答案

从所有处理程序中删除 response.end()

response.redirect()response.send() 都已完成响应。无需在它们之后调用 response.end()

只有像 response.write() 这样可以被多次调用并且不能自行完成响应的东西才需要 .end()

关于node.js - 使用渲染时将 header 发送到客户端后无法设置 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58965560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com