Nipun Tyagi
Nipun Tyagi

Reputation: 11

Nodejs shows Error "Cannot GET /test"

I am trying to retrieve output on other url / directory in nodejs but it's Display Error ("Cannot GET /test").

Please Suggest me what i have to do to get my output on ("http://localhost:8080/test").

    var express = require('express');
    var app = express();
    var bodyParser = require('body-parser');
    var multer = require('multer');
    var upload = multer(); 
    var session = require('express-session');
    var cookieParser = require('cookie-parser');

    app.set('view engine', 'pug');
    app.set('views','./views');

    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true })); 
    app.use(upload.array());
    app.use(cookieParser());
    app.use(session({secret: "Your secret key"}));

    var Users = [];

    app.get('/', function(req, res){
       res.render('signup');
    });

    app.post('/signup', function(req, res){
    if(!req.body.id || !req.body.password){
    res.status("400");
    res.send("Invalid details!");
    } else {
    Users.filter(function(user){
    if(user.id === req.body.id){
    res.render('signup', {
    message: "User Already Exists! Login or choose another user id"});
    }
    });
    var newUser = {id: req.body.id, password: req.body.password};
    Users.push(newUser);
    req.session.user = newUser;
    res.redirect('/test');
    }
    });
    app.listen(8080);

OutPut : Cannot GET /test

Upvotes: 0

Views: 2355

Answers (2)

vijay kumar
vijay kumar

Reputation: 1055

Here i writing sample. create views folder in root folder and add one test.pub file to views then just run Note:dont forget to install pug and express

var express = require('express')
var app = express()

app.set('view engine', 'pug');
app.set('views','./views');

// here am directly sending response without using view engine

app.get('/', function (req, res) {
res.send('hello world')
 })

// here am sending response with using view engine

app.get('/test', function(req, res){
res.render('test');
});

app.listen(8000,function(){
 console.log(" Server is running on port 8000");
});

Upvotes: 0

Louis Michael
Louis Michael

Reputation: 398

You did not specify a route for /test. You should have

app.get('/test', function(req, res, next){
  res.render('test'); // This should have a view
});

Upvotes: 1

Related Questions