搜索

首页  >  问答  >  正文

javascript - 什么时候后台主动返回404

2个问题,使用javascript语言 Node.js express框架开发

1.一般情况下页面请求数据,如果找不到,返回应该用res.send()去写么,还是应该res.sendStatus(404),后者可能不妥,那请问什么情况下服务器会主动返回404?

2.前端怎么取处理这个404,是判断吗err.response.status把路由链接到404页面吗?但是浏览器里始终会报错not get

天蓬老师天蓬老师2782 天前846

全部回复(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
  • 取消回复