Express res.redirect 不重定向
Express res.redirect not redirecting
我在 express 中使用 res.redirect() 时遇到问题。
我尝试查看其他问题,但答案并没有真正涵盖我的具体问题,或者它们至少不够相关。
app.get(/\d\w*/g, function (req, res, next) {
urlCreator.findURL(req.originalUrl,function(smallURL){
if (smallURL === "Small URL doesn't exist"){
res.send(smallURL);
}
else {
res.redirect(smallURL);
}
});
});
当到达 else 块中的 res.redirect() 时,我在浏览器中得到了它(下面的屏幕截图),而不是重定向到所需的任何页面。
smallUrl 的格式例如是 "www.facebook.com"
Browser response
关于为什么浏览器不会简单地重定向并显示它,我是否遗漏了一些明显的东西?
您缺少协议。如果您省略 http://
或 https://
,您的浏览器会将重定向视为本地资源的名称 - 而您没有名为 /www.facebook.com
.
的名称
所以,只需在 url 前加上协议,就可以了:-)
我在 express 中使用 res.redirect() 时遇到问题。
我尝试查看其他问题,但答案并没有真正涵盖我的具体问题,或者它们至少不够相关。
app.get(/\d\w*/g, function (req, res, next) {
urlCreator.findURL(req.originalUrl,function(smallURL){
if (smallURL === "Small URL doesn't exist"){
res.send(smallURL);
}
else {
res.redirect(smallURL);
}
});
});
当到达 else 块中的 res.redirect() 时,我在浏览器中得到了它(下面的屏幕截图),而不是重定向到所需的任何页面。 smallUrl 的格式例如是 "www.facebook.com"
Browser response
关于为什么浏览器不会简单地重定向并显示它,我是否遗漏了一些明显的东西?
您缺少协议。如果您省略 http://
或 https://
,您的浏览器会将重定向视为本地资源的名称 - 而您没有名为 /www.facebook.com
.
所以,只需在 url 前加上协议,就可以了:-)