Ich versuche derzeit, eine 404-Seite zu senden, die eine .pug-Datei ist, wenn eine ID-Parameter nicht in der Datenbank ist. Ich rufe next() in der api-Route auf, und wenn ich es innerhalb des Callbacks der elatics-Suche tue, wird ein Fehler, der nicht gefunden wird, sowie zwei Cant set header after they are sent
Nachrichten ausgegeben. Wenn ich die next()
draußen rufe, wird es richtig nur die 404 Fehlermeldung und nicht die Header-Nachricht anzeigen. Ich bin mir nicht sicher, warum es das tut.next() und sendende 404-Seite
// Wenn Sie so vorgehen, wird die 404-Seite korrekt gesendet.
app.get('/redirect/:id', function(req, res, next) {
let found = false;
if (!found) {
return next();
}
});
// Aber ich muss überprüfen, ob eine ID vorhanden ist, und dann die 404 werfen, aber es auf diese Weise tun, wird nicht funktionieren und ich werde halten eine Fehlermeldung über nicht in der Lage, immer Header zu setzen und die 404-Nachricht .
app.get ('/ Umleitung /: id', function (REQ, res, next) {
search.byId(req.params.id, (err, card) => {
if (err) log.log(err);
if (!card || card === undefined) {
return next();
}
});
});
Warum '' 'next()' ''? Sie sind fertig. '' 'res.status (404) .end();' '' wird Ihre 404 – Wainage
in Ordnung Ich habe das versucht, aber es sendet immer noch nicht meine 404-Seite. In der Shell werden die Fehlermeldungen der Set-Header nicht mehr angezeigt, aber auch die 404-Fehlerseite, die nicht gefunden wurde, wird nicht angezeigt. Es zeigt, dass eine Menge von GET-Anfragen mit einem 304-Status zufrieden sind. – henhen
Was bedeutet deinen Endpunkt? Briefträger? – Wainage