2017-03-08 32 views
0

我想簡單的展示使用快速的Node.js以及網頁上的用戶名和年齡貓鼬/中提取數據,並添加到數據庫中使用貓鼬

的觀點應該得到更新的左邊,而形式是在對。請參閱this圖片。

下面是我users.js(/用戶線路),其次是形式的HTML

Bodyparser已包含在此應用程序的app.js中。 在點擊提交,404沒有發現異常。

Refer this error image

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

 

 
/* GET users listing. */ 
 
router.get('/', function(req, res, next) { 
 
    res.render('userview'); 
 
}); 
 

 

 
router.post('#', function(req, res, next) { 
 
    
 
    //User is the model created in app.js of this project 
 
    var newUser = userModel({ 
 
      name:req.body.name, 
 
      age: req.body.age   
 
    }); 
 
    
 
    console.log(newUser); 
 
    // save the user 
 
    newUser.save(function(err) { 
 
     if (err) throw err; 
 

 
     console.log('User created!'); 
 
    }); 
 

 
}); 
 

 
module.exports = router;
<form method="post"> 
 
        Name: 
 
        <input type="text" name="name"><br><br> 
 
        Age: 
 
        <input type="number" name="age"><br><br> 
 
        <input type="submit" value="Submit"> 
 
</form>

這裏是我的app.js

var express = require('express'); 
 
var path = require('path'); 
 
var favicon = require('serve-favicon'); 
 
var logger = require('morgan'); 
 
var cookieParser = require('cookie-parser'); 
 
var bodyParser = require('body-parser'); 
 

 
var index = require('./routes/index'); 
 
var users = require('./routes/users'); 
 
var applist = require('./routes/applist'); 
 

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

 

 

 
//set database connection 
 
mongoose.connect('mongodb://localhost:27017/users'); 
 
mongoose.connection.on('error',function(){ 
 
    console.log('MongoDB Connection Error. Please make sure that MongoDB is running'); 
 
    process.exit(1); 
 
}); 
 
mongoose.connection.once('open',function(callback){ 
 
    console.log('Connected to Database'); 
 
    
 
}); 
 

 
var userSchema = new mongoose.Schema({ 
 
    name:{type:String,uppercase:true}, 
 
    age:Number 
 
},{collection:'userlist'}); 
 

 
//make model 
 
var userModel = mongoose.model('userModel',userSchema); 
 

 
app.get('/users', function(req, res, next) { 
 
    userModel.find({},function(err,userModel){ 
 
     res.render('userview',{userlist:userModel}); 
 
    }) 
 
}); 
 

 
module.exports = userModel; 
 

 

 

 
// view engine setup 
 
app.set('views', path.join(__dirname, 'views')); 
 
app.set('view engine', 'ejs'); 
 

 
// uncomment after placing your favicon in /public 
 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
 
app.use(logger('dev')); 
 
app.use(bodyParser.json()); 
 
app.use(bodyParser.urlencoded({ extended: false })); 
 
app.use(cookieParser()); 
 
app.use(express.static(path.join(__dirname, 'public'))); 
 

 
app.use('/', index); 
 

 

 
// catch 404 and forward to error handler 
 
app.use(function(req, res, next) { 
 
    var err = new Error('Not Found'); 
 
    err.status = 404; 
 
    next(err); 
 
}); 
 

 
// 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;

的usermodel存在於app.js

回答

1

在視圖改變

名= 「全名」 來命名= 「名稱」

用戶視圖

<form method="post"> 
     Name <input type="text" name="name"><br><br> 
     Age<input type="number" name="age"><br><br> 
     <input type="submit" value="Submit"> 
</form> 
+0

更正了錯誤,仍然無法正常工作。 –

+0

可能有錯字。你可以共享server.js和UserModel文件嗎? – chyangba

+0

我想你忘了添加'app.use('/ users',users);' – chyangba

0

首先,使用req.body你需要使用body-parserbusboyconnect-busboymultipartyconnect-multipartyformidablemulter等 - 看到:

此外,什麼是應該是這條路線:

router.post('#', function(req, res, next) { 

這個字是不是在URL路徑有效AMD需要進行URL編碼在客戶端的工作。你確定這是你需要的路線嗎?

如果你正在考慮的URL(如http://host/path#fragment)的片段,那它是不是在所有的HTTP請求時發送。請參閱:

+0

嗨,我沒有包括在同一個文件中,仍然無法正常工作。 –

+0

它應該是/ users而不是#。基於貓鼬的邏輯有問題嗎? –

相關問題