2014-03-03 60 views
0

在Express中,我可以使用response.redirect(「」)重定向到其他URL。同樣如何在Connect模塊中重定向?我試過下面的代碼,但它不工作。連接中的響應重定向

response.setHeader('Content-Type', 'text/plain'); 
response.end('<p>302. Redirecting to <a href="' + url+ '">' + url+ '</a></p>'); 
+0

設置'位置'標題是一個選項。沒有探索連接API的思想,我應該類似於表達 – Gntem

回答

0

res.redirect在定義明確的,而不是在連接(見relevant source code)。然後,您不能使用此功能,但你可以通過設置Location頭複製其行爲:

res.set('Location', url); 

您還可以閱讀this answer:即使是有關,它包含關於使用的有用信息頭。

+0

對於任何人絆倒這一點,'res.set'現在'res.setHeader' – JamesTheMage

3

您可以在連接時使用writeHead如下也是重定向:

res.writeHead(301, {Location: url}); 
res.end(); 

的301 HTTP狀態代碼的意思是 「永久移動」。

+0

我試過這樣做,但我得到請求標題爲小心:臨時頭顯示 – user3180402

+0

有什麼方法可以將數據與重定向url一起傳遞嗎? – user3180402

+0

你可以在URL中傳遞查詢字符串參數,如果這可能適用於你的情況。我之前不需要在重定向中傳遞發佈數據。 – Svbaker