res.send(),然后res.redirect()
为什么以下不工作?
res.send({ successMessage: 'Task saved successfully.' }); res.redirect('/');
我基本上需要用于AJAX请求的successMessage。 当请求是标准的发布请求(非AJAX)时,redirect是必要的。
下面的方法对我来说似乎不是很干净,因为我不想关心后端的前端技术:
if(req.xhr) { res.contentType('json'); res.send({ successMessage: 'Aufgabe erfolgreich gespeichert.' }); } else { res.redirect('/'); }
您可以使用状态码来指示您的任务已保存,然后redirect。 尝试这个:
res.status(200); res.redirect('/');
要么
res.redirect(200, '/');
因为AJAX知道成功或失败的代码,所以例如,如果你发送404,AJAX成功function将不会执行
第一个片段不工作,因为res.send
已经发送头,所以res.redirect
之后根本不可能。
第二个片段应该工作。 基本上,它做的是检查请求是否是AJAX(然后返回JSON),否则redirect发生。