Heim > Fragen und Antworten > Hauptteil
2 Fragen, entwickelt mit der Javascript-Sprache Node.js Express Framework
1. Unter normalen Umständen fordert die Seite Daten an, die mit res.send() geschrieben werden sollen, oder sollte es sich um res.sendStatus(404) handeln Unter welchen Umständen ergreift der Server die Initiative?
2. Wie geht das Frontend mit diesem 404 um? Ist es eine Beurteilung von err.response.status und verknüpft die Route mit der 404-Seite? Aber der Browser meldet immer einen Fehler, der nicht angezeigt wird
我想大声告诉你2017-05-16 13:39:32
404 即资源未找到。如果你使用 RESTful 语义的话,在资源未找到时应当返回 404。如果不是 RESTful 语义的话,自己创造的语义,你得自己搞定。一般为了前端处理方便会返回200,并在消息正文里写上错误信息。但是这样可能会带来其它问题。
这取决于你使用的框架。「但是浏览器里始终会报错not get」不清楚你是个什么情况。404 本来就是一种错误嘛。
如果你是自己的 API,其实还好说。我最讨厌某些直接给浏览器的网页,明明没找到,非要返回个200甚至是302跳转到一个叫「错误」的页面。有些甚至还没等我过去看就跳转到首页去了。我链接多了个逗号手动去改不行啊?一个列表页面里那么多链接,我点开看看哪些还在,结果出错的全部跳转到同一页面了,我怎么知道到底哪些链接失效了呢?
習慣沉默2017-05-16 13:39:32
后端响应了404的同时也是可以返回响应体的。并没有什么不妥,找不到的路由必然是需要返回404
前端必然是需要有逻辑处理http的404状态的,至于怎么处理各有不同。但是跳转到404页面也必然是不妥的,给哥提示就差不多了