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

mos*_*o87 7 node.js express

为什么以下不起作用?

res.send({
    successMessage: 'Task saved successfully.'
});
res.redirect('/');
Run Code Online (Sandbox Code Playgroud)

我基本上需要使用successMessage来获取AJAX请求.当请求是标准发布请求(非AJAX)时,重定向是必需的.

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

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

M O*_*ayr 6

您可以使用状态代码指示您的任务已保存,然后重定向.试试这个:

res.status(200);
res.redirect('/');
Run Code Online (Sandbox Code Playgroud)

要么

res.redirect(200, '/');
Run Code Online (Sandbox Code Playgroud)

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