gpt4 book ai didi

javascript - 在已使用响应 Node js 后重定向

转载 作者:行者123 更新时间:2023-11-30 09:43:22 24 4
gpt4 key购买 nike

我想渲染一些页面,在一定秒数后需要将其重定向到另一个页面。但是,我收到“发送后无法设置 header ”。根据我的阅读,响应应该只使用一次,但我不确定这是否属实。对于这个特定问题的任何帮助或解决方案,我将不胜感激。

app.get('/', function (req, res) {
var message = req.flash();
res.render('index', { message: req.flash('message'), hassError: message.length > 0} );
});

app.get('/error', function (req, res) {
var timeout = 3000;

setTimeout(function (err) {
console.log('finished');
if (err)
throw err;
console.log('################');
res.redirect('/');
}, timeout);
res.render('partials/404');
});

“finished”被打印出来,然后抛出错误,但不是回调中指定的错误。

最佳答案

您不能使用这种方法 - 渲染意味着将 header 发送到浏览器,然后浏览器关闭 HTTP 请求。您无法发送第二个回复。

您必须在页面而不是服务器上用 JavaScript 执行超时逻辑:

<script>
var timeout = 3000;

setTimeout(function () {
window.location = "http://www.yoururl.com";
}, timeout);
</script>

关于javascript - 在已使用响应 Node js 后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40094111/

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