2017-05-29 50 views
1

我在快速使用res.redirect()時遇到問題。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

我失去了一些東西很明顯,爲什麼瀏覽器就不能簡單地重定向並顯示此呢?

回答

3

您錯過了該協議。如果您省略了http://https://,您的瀏覽器將重定向視爲本地資源的名稱 - 並且您沒有一個名爲/www.facebook.com

所以,只需在協議前加上url,你就好了:-)

+0

啊當然是啊!感謝您的幫助@Golo Roden。這解決了它。看起來我將不得不檢查並格式化所有URL以包含協議了! :) – tophergd

+0

不客氣:-) –