简体   繁体   English

404 Not Found nodejs 到本地主机

[英]404 Not Found nodejs to localhost

I am writing nodejs express to fetch the data to web page.我正在编写 nodejs express 以将数据提取到 web 页面。 an error appear 404 Not Found when open打开时出现错误 404 Not Found

http://127.0.0.1:3000/users http://127.0.0.1:3000/用户

in the Dev tool on the browser show: users:1 GET http://127.0.0.1:3000/users 404 (Not Found)在浏览器的 Dev 工具中显示: users:1 GET http://127.0.0.1:3000/users 404 (Not Found)

below are the app.js and index.js and users.js files下面是 app.js 和 index.js 以及 users.js 文件

I think I have an issue with the routes我想我的路线有问题

app.js应用程序.js

var createError = require('http-errors');
 var express = require('express');
 var path = require('path');
 var cookieParser = require('cookie-parser');
 var logger = require('morgan');
 var expressValidator = require('express-validator');
 var flash = require('express-flash');
 var session = require('express-session');
 var bodyParser = require('body-parser');
 
 var mysql = require('mssql');
//  var connection  = require('./lib/db');
 
 var indexRouter = require('./routes/index');
 var usersRouter = require('./routes/users');
 
 var app = express();
 
// view engine setup
 app.set('views', path.join(__dirname, 'views'));
 app.set('view engine', 'ejs');
 
 app.use(logger('dev'));
 app.use(bodyParser.json());
 //I put false instead true
 app.use(bodyParser.urlencoded({ extended: true }));
 app.use(cookieParser());
 app.use(express.static(path.join(__dirname, 'public')));
 
 app.use(session({ 
     secret: '123456cat',
     resave: false,
     saveUninitialized: true,
     cookie: { maxAge: 60000 }
 }))
 
 app.use(flash());
 app.use(expressValidator());

 app.use('/', indexRouter);
 app.use('/list', usersRouter);
 
 
 // catch 404 and forward to error handler
 app.use(function(req, res, next) {
   next(createError(404));
 });
 
 // error handler
 app.use(function(err, req, res, next) {
   // set locals, only providing error in development
   res.locals.message = err.message;
   res.locals.error = req.app.get('env') === 'development' ? err : {};
 // render the error page
   res.status(err.status || 500);
   res.render('error');
 });

 module.exports = app; 

below are the routes files.下面是路由文件。 routes/index.js路线/index.js

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

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

routes/users.js路线/users.js

var express = require('express');
var router = express.Router();
var connection  = require('../database.js');
 
 
/* GET home page. */
router.get('/', function(req, res, next) {
      
 connection.query('SELECT * FROM users',function(err,rows)     {
 
        if(err){
         req.flash('error', err); 
         res.render('list',{page_title:"Users - Node.js",data:''});   
        }else{
            
            res.render('list',{page_title:"Users - Node.js",data:rows});
        }
                            
         });
        
    });
 
 
module.exports = router;

As I already mentioned in my comment, you don't have a /user route therefore you will get a 404 NotFound error.正如我在评论中已经提到的,您没有/user路由,因此您将收到404 NotFound错误。

Change this改变这个

app.use('/list', usersRouter);

To this对此

app.use('/user', usersRouter);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM