胡說叔叔
2018-11-13 13:13:17
2個(gè)問題,使用javascript語言 Node.js express框架開發(fā)1.一般情況下頁面請求數(shù)據(jù),如果找不到,返回應(yīng)該用res.send()去寫么,還是應(yīng)該res.sendStatus(404),后者可能不妥,那請問什么情況下服務(wù)器會主動返回404?2.前端怎么取處理這個(gè)404,是判斷嗎err.response.status把路由鏈接到404頁面嗎?但是瀏覽器里始終會報(bào)錯(cuò)not get
1 回答

素胚勾勒不出你
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
404 即資源未找到。如果你使用 RESTful 語義的話,在資源未找到時(shí)應(yīng)當(dāng)返回 404。如果不是 RESTful 語義的話,自己創(chuàng)造的語義,你得自己搞定。一般為了前端處理方便會返回200,并在消息正文里寫上錯(cuò)誤信息。但是這樣可能會帶來其它問題。
這取決于你使用的框架。「但是瀏覽器里始終會報(bào)錯(cuò)not get」不清楚你是個(gè)什么情況。404 本來就是一種錯(cuò)誤嘛。
如果你是自己的 API,其實(shí)還好說。我最討厭某些直接給瀏覽器的網(wǎng)頁,明明沒找到,非要返回個(gè)200甚至是302跳轉(zhuǎn)到一個(gè)叫「錯(cuò)誤」的頁面。有些甚至還沒等我過去看就跳轉(zhuǎn)到首頁去了。我鏈接多了個(gè)逗號手動去改不行?。恳粋€(gè)列表頁面里那么多鏈接,我點(diǎn)開看看哪些還在,結(jié)果出錯(cuò)的全部跳轉(zhuǎn)到同一頁面了,我怎么知道到底哪些鏈接失效了呢?
添加回答
舉報(bào)
0/150
提交
取消