【问题标题】:Express res.redirect not redirecting快递 res.redirect 不重定向
【发布时间】:2017-05-29 11:34:43
【问题描述】:

我在 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

我是否遗漏了一些明显的东西,为什么浏览器不会简单地重定向并显示它?

【问题讨论】:

    标签: javascript node.js express mean-stack


    【解决方案1】:

    您缺少协议。如果您省略 http://https://,您的浏览器会将重定向视为本地资源的名称 - 而您没有名为 /www.facebook.com 的资源。

    所以,只需在 url 前面加上协议,就可以了 :-)

    【讨论】:

    • 啊当然!感谢您的帮助@Golo Roden。那解决了它。看起来我现在也必须检查和格式化所有 URL 以包含协议! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    相关资源
    最近更新 更多