Matheus Fachini
Matheus Fachini

Reputation: 167

Why I getting this 'res.render() is not a function'

I am trying create a route, but I getting this error.

res.send is not a function

And my code in the index.js file it is this way

var express = require('express');
var router = express.Router();

router.get('/', function(res, req, next){
 res.render('index');
});

module.exports = router;

And in the app.js file is that way

var index = require('./routes/index.js');
...
...
...
app.get('/', index);

Thank you, since already.

Upvotes: 6

Views: 21011

Answers (1)

Aaron
Aaron

Reputation: 2227

It looks like you've swapped req and res in your router.get callback. Thus, what you've named req is actually res, and vice versa, and req.render does not exist.

Try changing:

router.get('/', function(res, req, next){

to:

router.get('/', function(req, res, next){


To avoid mixing these up in the future, try to remember that requests come before responses, in both HTTP and the alphabet.

Upvotes: 33

Related Questions