res.send(),然后res.redirect()

为什么以下不起作用?

res.send({
    successMessage: 'Task saved successfully.'
});
res.redirect('/');

我基本上需要用于AJAX请求的successMessage。 当请求是标准发布请求(非AJAX)时,重定向是必需的。

以下方法对我来说似乎不是很干净,因为我不想关心后端的前端技术:

if(req.xhr) {
    res.contentType('json');
    res.send({
        successMessage: 'Aufgabe erfolgreich gespeichert.'
    });
} else {
    res.redirect('/');
}

您可以使用状态码来表明您的任务已保存并重定向。 尝试这个:

res.status(200);
res.redirect('/');

要么

res.redirect(200, '/');

因为AJAX知道成功或失败代码,所以例如,如果您要发送404,AJAX成功功能将不会执行


第一个片段不起作用,因为res.send已经发送了头文件,所以res.redirect之后根本不可能。

第二个片段应该可以工作。 基本上,它所做的是检查请求是否为AJAX(然后返回JSON),否则将发生重定向。

链接地址: http://www.djcxy.com/p/77177.html

上一篇: res.send(), then res.redirect()

下一篇: Maintaining application state across single page view flips and multi