gpt4 book ai didi

node.js - 调用 res.redirect 后使用 return 或 next

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

我正在尝试编写一段代码,用于将所有 Http 请求重定向到 Https,现在我想问一下,我在许多不同的网站上看到过下面的代码,但其中一些使用 returnres.redirect,一些使用 return after res.redirect,一些不使用任何东西,一些只使用 next() 之后 res.redirect

我只是想问这里return或者调用next()有什么用。或者我在这里遗漏了什么??

app.use(function(req,res,next) {
if(req.headers["x-forwarded-proto"] == "http") {
console.log('Request was HTTP');
/* return ??*/ res.redirect("https://" + req.headers.host + req.url);
// return or next() or nothing ??.
} else {
console.log('Request was not HTTP');
return next();
}
});

最佳答案

一般来说,我建议使用:

return res.redirect("https://" + req.headers.host + req.url);

由于在这种情况下您显式返回重定向响应。

在大多数情况下,只需 res.redirect() 就足够了,并且您确实有重定向响应 (HTTP 302),但服务器日志中可能会出现错误,特别是如果您在 async (req, res) => {} 函数中使用它。

关于node.js - 调用 res.redirect 后使用 return 或 next,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47486936/

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