在Express中,我应该如何POST到当前URL并重定向回同一页面?

时间:2018-03-21 21:24:25

标签: node.js express

我有一个像这样的路线的快递应用

router.get('/jobs/:jobid/edit', jobController.editJob)

editJob抓取一些信息并显示一个表单,用于编辑一些细节。该表单方法是POST到/ jobs / $ {jobId} / edit。所以我有这样的路线:

router.post('/jobs/:jobid/edit', jobController.postJob)

我的postJob现在非常基本,因为我刚刚设置好,所以基本上我已经得到了这个:

exports.postJob = (req, res, next) => {
    //Do a bunch of stuff...
    //Redirect back to original page so it will display the updated content
    //Things I've tried...
    res.redirect('back')
    res.redirect(req.originalUrl)
    this.editJob(req, res)
}

他们都抛出错误Error: Can't set headers after they are sent.

我甚至尝试将邮寄路线更改为:

router.post('/jobs/:jobid/edit', jobController.postJob, jobController.editJob)

并将next()添加到postJob,但这也不起作用。

处理发布数据并让他们回到"编辑"的正确方法是什么?查看?

0 个答案:

没有答案