res.send(), then res.redirect()
Why is the following not working?
res.send({
successMessage: 'Task saved successfully.'
});
res.redirect('/');
I basically need the successMessage for AJAX requests. The redirect is necessary when the request is a standard post request (non-AJAX).
The following approach doesn't seem to be very clean to me as I don't want to care about the frontend-technology in my backend:
if(req.xhr) {
res.contentType('json');
res.send({
successMessage: 'Aufgabe erfolgreich gespeichert.'
});
} else {
res.redirect('/');
}
You can use a status code to indicate that your task was saved and then redirect. Try this:
res.status(200);
res.redirect('/');
OR
res.redirect(200, '/');
Because AJAX knows success or failure codes, so for example if you'll send 404, AJAX success function won't execute
The first snippet doesn't work because res.send
sends headers already, so the res.redirect
after that simply impossible.
The second snippet should work. Basically, what it does is a check if the request is AJAX (then returns JSON), otherwise redirection takes place.
链接地址: http://www.djcxy.com/p/77178.html上一篇: neo4j只能在内存中运行吗?