搜尋

首頁  >  問答  >  主體

javascript - 什麼時候後台主動回傳404

2個問題,使用javascript語言 Node.js express框架開發

1.一般情況下頁面請求數據,如果找不到,返回應該用res.send()去寫麼,還是應該res.sendStatus(404),後者可能不妥,那請問什麼情況下伺服器會主動返回404?

2.前端怎麼取處理這個404,是判斷嗎err.response.status把路由連結到404頁面嗎?但是瀏覽器裡始終會報錯not get

天蓬老师天蓬老师2782 天前856

全部回覆(4)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:39:32

    1. 404 即資源找不到。如果你使用 RESTful 語意的話,在資源找不到時應當回傳 404。如果不是 RESTful 語意的話,自己創造的語意,你得自己搞定。一般為了前端處理方便會回傳200,並在訊息正文裡寫上錯誤訊息。但是這樣可能會帶來其它問題。

    2. 這取決於你使用的框架。 「但是瀏覽器裡始終會報錯not get」不清楚你是個什麼情況。 404 本來就是一種錯誤嘛。

    如果你是自己的 API,其實還好說。 我最討厭某些直接給瀏覽器的網頁,明明沒找到,非要返回個200甚至是302跳到一個叫「錯誤」的頁面。有些甚至還沒等我過去看就跳到首頁去了。 我連結多了個逗號手動去改不行啊?一個列表頁面裡那麼多鏈接,我點開看看哪些還在,結果出錯的全部跳轉到同一頁面了,我怎麼知道到底哪些鏈接失效了呢?

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-16 13:39:32

    後端處理。
    在所有路由都為匹配的情況下,發送404頁面

    回覆
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:39:32

    1. 後端回應了404的同時也是可以回傳響應體的。並沒有什麼不妥,找不到的路由必然需要回傳404

    2. 前端必然是需要有邏輯處理http的404狀態的,至於怎麼處理各有不同。但跳到404頁也必然是不妥的,給哥提示就差不多了

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:39:32

    路由根據你的url 沒有找到 對應的資源 ,所以 回傳 404 沒有找到符合的資源

    回覆
    0
  • 取消回覆