admin管理员组

文章数量:1290991

ReferenceError: error is not defined in the code:

app.post('/register', function(req, res) {
  var hash = bcrypt.hashSync(req.body.password, bcrypt.genSaltSync(10));
  var user = new User({
    firstName: req.body.firstName,
    lastName: req.body.lastName,
    email: req.body.email,
    password: hash,
  });
  user.save(function(err) {
    if (err) {
      var err = 'Something bad happened, try again!';
      if(err.code === 11000) {
        error = 'That email is already taken, try another.';
      }
      res.render('register.jade', { error: error });
    } else {
      res.redirect('/dashboard');
    }
  });
});

Specifically the error is on this line I believe:

  res.render('register.jade', { error: error });

Can anyone tell me how to fix this. I thought I defined it when I put in:

  if(err.code === 11000) {
        error = 'That email is already taken, try another.';
   }

The error I received is:

/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:779
      catch(err) { process.nextTick(function() { throw err}); }
                                                       ^
ReferenceError: error is not defined
    at /Users/darceymckelvey/Documents/auth/app.js:57:44
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/document.js:1747:19
    at handleError (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:40:22)
    at next_ (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:75:26)
    at fnWrapper (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:186:18)
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/model.js:290:15
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/model.js:191:14
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/model.js:135:9
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/collection.js:484:20
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/collection.js:597:14
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/bulk/unordered.js:469:9
    at resultHandler (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/bulk/unordered.js:416:5)
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:778:13
    at Callbacks.emit (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:95:3)
    at null.messageHandler (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:249:23)
    at Socket.<anonymous> (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:262:22)

ReferenceError: error is not defined in the code:

app.post('/register', function(req, res) {
  var hash = bcrypt.hashSync(req.body.password, bcrypt.genSaltSync(10));
  var user = new User({
    firstName: req.body.firstName,
    lastName: req.body.lastName,
    email: req.body.email,
    password: hash,
  });
  user.save(function(err) {
    if (err) {
      var err = 'Something bad happened, try again!';
      if(err.code === 11000) {
        error = 'That email is already taken, try another.';
      }
      res.render('register.jade', { error: error });
    } else {
      res.redirect('/dashboard');
    }
  });
});

Specifically the error is on this line I believe:

  res.render('register.jade', { error: error });

Can anyone tell me how to fix this. I thought I defined it when I put in:

  if(err.code === 11000) {
        error = 'That email is already taken, try another.';
   }

The error I received is:

/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:779
      catch(err) { process.nextTick(function() { throw err}); }
                                                       ^
ReferenceError: error is not defined
    at /Users/darceymckelvey/Documents/auth/app.js:57:44
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/document.js:1747:19
    at handleError (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:40:22)
    at next_ (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:75:26)
    at fnWrapper (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:186:18)
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/model.js:290:15
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/model.js:191:14
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/lib/model.js:135:9
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/collection.js:484:20
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/collection.js:597:14
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/bulk/unordered.js:469:9
    at resultHandler (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/lib/bulk/unordered.js:416:5)
    at /Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:778:13
    at Callbacks.emit (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:95:3)
    at null.messageHandler (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:249:23)
    at Socket.<anonymous> (/Users/darceymckelvey/Documents/auth/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:262:22)
Share Improve this question edited Dec 23, 2015 at 18:43 Darcey Mckelvey asked Dec 23, 2015 at 18:41 Darcey MckelveyDarcey Mckelvey 5562 gold badges8 silver badges20 bronze badges 1
  • 1 The condition is probably false, as error will only be defined if err.code === 11000 – adeneo Commented Dec 23, 2015 at 18:43
Add a ment  | 

1 Answer 1

Reset to default 5

Sorry - just reread your question/code - this is a scoping issue:

user.save(function(err) {
    if (err) {
      var error = 'Something bad happened, try again!';
      if(err.code === 11000) {
        error = 'That email is already taken, try another.';
      }
      res.render('register.jade', { error: error });

本文标签: javascriptReferenceError error is not definedStack Overflow