所以我有一個登陸頁面(「/」)。在這個頁面上是一個用戶名和密碼的登錄表單,並帶有一個提交按鈕。我有app.get加載頁面和app.post來接收表單的參數。然而,我的意圖是有一個app.post('/登錄',功能(REQ,RES){/ /邏輯});有沒有/登錄路線或頁面加載,這隻會容納登錄本身的邏輯(驗證用戶名等)是否有一種簡單的方法來從'/'的帖子重定向到/登錄沒有它試圖加載/登錄頁面,這不存在?使用的是重定向後張貼快遞JS路線
0
A
回答
2
我不知道我是否正確地理解你的問題。據我所知,你希望你的POST請求/
重定向到POST請求/login
這可能會很棘手。
通常你通過發送301永久搬遷或302找到HTTP狀態代碼執行重定向。他們兩人通常在實踐中工作,就好像它是303見其他併發出GET請求。參見List of HTTP status codes維基百科:
這是一個與標準相矛盾的行業實踐的例子。 HTTP/1.0規範(RFC 1945)要求客戶端執行 臨時重定向(原始描述短語爲「Moved Temporarily」),但流行的瀏覽器使用303 See Other的 功能實現了302。因此,HTTP/1.1添加狀態 代碼303和307來區分這兩種行爲。 然而,一些Web應用程序和框架使用302個狀態碼 就好像它是在303
有一個307臨時重定向(因爲HTTP/1.1),創建來解決這個問題是不能改變HTTP方法 - 所以POST的重定向應該仍然是POST - 請參閱Wikipedia:
在這種情況下,請求應該用另一個URI重複;但是,未來的請求應該仍然使用原始URI。在 與302歷史實施方式相比,請求方法 不允許在重新發送原始請求時更改。例如,對於 示例,應該使用另一個POST 請求重複POST請求。
據我所知,瀏覽器在跟蹤這樣的重定向之前應該警告用戶。我不知道這在實踐中如何運作。我不會依賴這一點,因爲它最多可能會讓用戶感到煩惱,甚至根本無法工作。
我的建議是要麼改變這一點:
app.post('/login', function (req, res) {
// logic
});
這樣:
function loginHandler(req, res) {
// logic
}
app.post('/login', loginHandler);
app.post('/', loginHandler);
或這樣的事情,使用正則表達式:
app.post(/^\/(?:login)?$/, function (req, res) {
// logic
});
這種方式,而不是重定向相同的處理程序將用於這兩個路線。它會更快,更穩健,因爲這樣你就不需要依賴重定向工作,因爲根本就沒有重定向。
相關問題
- 1. 快遞js重定向爲IE
- 2. 快遞JS - 不能重定向
- 3. PHP重定向張貼到數據庫
- 4. 快遞js內路線多功能
- 5. 快遞JS需要根據路線
- 6. 快遞JS看不到餅乾,這是調用路線
- 7. 快遞JS使用可選參數路線:不同的路徑總是指向相同的功能
- 8. 向前快遞JS
- 9. 快遞重定向到前端路徑與路徑
- 10. 如何更改路線值然後重定向到該路線?
- 11. 重定向路線編程方式使用路線名稱
- 12. 這是不正確的快遞使用路線嗎?
- 13. 無法在快遞重定向與節點JS
- 14. 快遞js發送應用程序變量到路線
- 15. Laravel 5.5登錄後重定向到一個特定的路線
- 16. 重定向從一個路徑到另一個快遞
- 17. 使用ajax重定向到新的網址並快速路由
- 18. 快遞路線是以前導斜線定義的,是否有技術原因?
- 19. 路線GET節點JS快遞同樣的事情,POST
- 20. 重定向路由嚴格的斜線
- 21. Rails的路線,重定向腳本
- 22. 在新的Angular2路線中重定向
- 23. 登錄後的角JS重定向
- 24. 快遞/角,Passport身份驗證後,沒有進行重定向
- 25. javascript問題重定向和張貼提示數據到url
- 26. Django評論重定向從張貼/預覽
- 27. 後/重定向/獲取:重定向到特定路徑
- 28. 301重定向後的路線是匹配的,但控制器執行之前
- 29. 如何重定向到適當的路線,而不是URL :: previous()登錄後
- 30. 自定義路線只是重定向到當前頁面
如果有人告訴我是否存在違反政策的情況,或者由於任何原因我的問題不可接受,而不僅僅是簡單地向下投票,那將會很好。 –
我的答案是否適合你?如果是這樣,那麼你可以考慮[接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235),以便其他人尋找這個問題會看到你的問題有一個被接受的答案。 – rsp