我目前正試圖發送一個404頁面,這是一個.pug文件,只要ID參數不在數據庫中。我在api路由中調用next(),並且當我在彈性搜索回調中執行它時,它會拋出一個未找到的頁面錯誤以及兩條Cant set header after they are sent
消息。當我在外面呼叫next()
時,它將正確顯示404錯誤消息而不是頭部消息。我不確定它爲什麼這樣做。下一個()和發送404頁面
//這樣做會正確發送404頁面。
app.get('/redirect/:id', function(req, res, next) {
let found = false;
if (!found) {
return next();
}
});
//但我需要檢查,如果一個ID存在,然後扔了404,但做這種方式是行不通的,我會不斷收到有關無法設置頁眉錯誤和404消息。
app.get( '/重定向/:ID',函數(REQ,RES,下一個){
search.byId(req.params.id, (err, card) => {
if (err) log.log(err);
if (!card || card === undefined) {
return next();
}
});
});
爲什麼要使用next()'''?你完成了。 '''res.status(404).end();'''會返回你的404 – Wainage
好吧我試過了,但它仍然沒有發送我的404頁面。在shell中,設置標題錯誤消息不會再顯示,但也找不到404錯誤頁面。它確實顯示了一堆GET請求與304狀態關聯 – henhen
什麼叫你的終點?郵差? – Wainage