Nodejs shows Error “Cannot GET /test”

心不动则不痛 提交于 2019-12-02 17:28:29

问题


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


回答1:


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
});



回答2:


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");
});


来源:https://stackoverflow.com/questions/44537806/nodejs-shows-error-cannot-get-test

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!