buydadip
buydadip

Reputation: 9437

Basic redirect Node js

On my website, when a user clicks on a link he is brought to a register page as so...

//register.jade
a(href="/register") Register

//app.js (server)
var reg = require('./routes/register');
...
app.use('/register', reg);

//register.js
router.get('/', function (req, res) {
    res.render('register', { title: 'Express' });
});

Now, from my register page, once the user has pressed the submit button and successfully added data to the db, I want to redirect him back to index page. Here is my code to check if entry is successful...

router.post('/', function (req, res) {

    var u = new User({
        username: req.body.reg_username,
        password: req.body.reg_password,
        name: req.body.reg_name,
        last: req.body.reg_lastname,
        year: req.body.reg_year,
        degree: req.body.reg_degree
    });

    u.save(function (err) {
        if (err) {
            throw err;
        }
        else {
            console.log("saved");

The code works because saved is logged to the console. In the else statement, what code can I use to redirect him to my index page?

Upvotes: 0

Views: 40

Answers (1)

Himmel
Himmel

Reputation: 3709

You can use res.redirect('/') to redirect the user to a specified url. In your case:

router.post('/', function (req, res) {

    u.save(function (err) {
      if (err) {
        throw err;
      }
      else {
        res.redirect('/');
      }
...

Upvotes: 2

Related Questions