我试图实现使用快递和身体解析器一个登录页面,我的代码如下:BodyParser不识别输入的
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
mongoose.connect("mongodb://localhost/database", function(err){
if(err) throw err;
console.log("DB Connection was successful");
});
var Schema = mongoose.Schema;
var userSchema = mongoose.Schema({
name: {type: String, required: true, index: {unique: true}},
password: {type: String, required: true}
});
var user = mongoose.model("user", userSchema);
app.set("view engine","jade");
app.use(express.static("public"));
app.get('/',function(req,res){
res.render("index");
});
console.log('Service has started');
app.post("/menu", function(req, res){
console.log(req);
var data = {
name: req.body.name,
password: req.body.password
}
console.log(data); //I'm trying to display the user received in the login
res.render("auth");
});
app.listen(8080);
的问题是,当我发送的信息(名称和密码),控制台显示:{ name: undefined, password: undefined }
但是,当我使用行console.log(req)
时,控制台确实显示了所有请求信息(应该通过body-parser将其转换为名称和密码)。
如何解决undefined
问题?提前致谢。
您如何提出请求? – robertklep
'形式(方法= “POST” 行动= “/菜单” 样式= “边距:1.5em;” ENCTYPE = “多部分/格式数据”) \t \t \t \t \t输入(类型= “文本” 名称= “用户” 占位符= “usuario” 类= “形控制”) \t \t \t \t \t输入(类型= “密码” 名称= “密码” 占位符= “contraseña” 类= “形控制”) \t \t \t \t \t button登录' – user3651293