2017-07-18 38 views
1

我創建了一個登錄頁面,當它被點擊時,會自動觸發Facebook身份驗證流程。但是,我無法自動將索引重定向到signup路線。我如何從GET請求重定向到POST請求?如何將郵件重定向到快遞請求

router.get('/', function(req, res) { 
     //redirect to login function 
    }); 

    router.post('/signup', passport.authenticate('signup', { 
     //Log user in on facebook 
    })); 

回答

2

從GET請求重定向到POST請求是不可能的。

你所能做的就是將POST請求重定向到POST請求,但即使這樣也可能有些棘手,但你永遠不能重定向到與原始請求不同的方法(除非該方法是GET) 。

通常你會通過發送301 Moved Permanently或302 Found HTTP狀態碼來進行重定向。他們兩人通常在實踐中工作,就好像它是303見其他併發出GET請求。

有一個不允許更改HTTP方法的307臨時重定向(自HTTP/1.1起)。這可以用來將POST重定向到POST,但請注意,它明確地不允許更改該方法,因此您不能使用它將GET重定向到POST(或者甚至POST到GET,否則可能會簡單的301或302響應)。

見一些更多的背景這些問題的答案:

+0

這是不幸的。我會研究這些鏈接 - 謝謝。 –

+0

@PatrickConnors你仍然可以做你想做的。 Rsp只是在談論真正的重定向。或者更多,你不解釋得很好,rsp誤解你的意思。我得到你想要做的事情,這並不難。 – Darkrum

+0

@Darkrum酷,怎麼樣? –

相關問題