我試圖實現使用快遞和身體解析器一個登錄頁面,我的代碼如下: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