Nodejs从POST方法重定向不工作



我有一个注销按钮,它发送一个POST请求。之后,它应该将用户重定向到主页,但什么也没发生。我还尝试将状态码设置为302,303…

代码:

//on click this is executed
function logout() {
fetch('/logout', { method: 'POST' });
}
//this is called on POST request
const logout = (_req, res) => {
res.clearCookie('token');
res.locals.payload = undefined;
res.redirect('/');                    //problem
};
//logged requests
POST /logout 302 23 - 0.865 ms
GET / 304 - - 6.058 ms

如果您的/logout端点接受GET请求,请尝试将用户重定向到那里。例如:

function logout() {
document.location = '/logout';
}

否则,在cookie被清除后,在JavaScript中添加一个重定向:

async function logout() {
await fetch('/logout', { method: 'POST' });
document.location = '/';
}

最新更新