res.redirect('back') with parameters


I have a register form on every page of my website. During registration some error may occur. After catching the error, I have to return the user to the previous page, showing some error message. The problem is that I do not know from which page the user performed the registration, so I use res.redirect('back');. However, I cannot just redirect user back, I have to display the error message also, so I have to pass some argument. But res.redirect('back', (reg_error:'username')}) cannot be used directly because res.redirect() does not support parameters. How can I render the previous page with some parameter?

6/25/2014 11:33:56 AM

Using the referer header to find what page your user came from might be helpful:

app.get('/mobileon', function(req, res){
  backURL=req.header('Referer') || '/';
  // do your thang

You might also want to store backURL in req.session, if you need it to persist across multiple routes. Remember to test for the existence of that variable, something like: res.redirect(req.session.backURL || '/')

edit: Since my answer has been getting some upvotes I typed up my current way to do this. It got a little long so you can view it at .

The most important difference is using an explicit 'bounce' parameter in the query string that overrides the Referer url.

12/17/2013 12:41:10 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow