res.send(), dann res.redirect()
Warum das folgende nicht funktioniert?
res.send({
successMessage: 'Task saved successfully.'
});
res.redirect('/');
Ich im Grunde muss die successMessage für AJAX-Anfragen. Die Umleitung ist notwendig, wenn die Anforderung ist ein standard-post-Anforderung (non-AJAX).
Die folgende Vorgehensweise scheint nicht sehr sauber zu mir, da ich nicht wollen, über die Pflege der frontend-Technologie in meinem backend:
if(req.xhr) {
res.contentType('json');
res.send({
successMessage: 'Aufgabe erfolgreich gespeichert.'
});
} else {
res.redirect('/');
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen status-code, um anzugeben, dass Ihre Aufgabe gespeichert wurde und dann umleiten. Versuchen Sie dies:
ODER
Weil AJAX weiß, Erfolg oder Misserfolg-codes, so zum Beispiel, wenn Sie senden 404, AJAX success-Funktion wird nicht ausgeführt
Der erste Schnipsel nicht funktionieren, weil
res.send
sendet Header bereits, so dieres.redirect
danach einfach unmöglich.Dem zweiten snippet funktionieren sollte. Im Grunde, was es tut, wird überprüft, ob der request wird AJAX (dann gibt JSON), ansonsten Umleitung stattfindet.