0

Express と body パーサーを使用してログイン ページを実装しようとしています。私のコードは次のとおりです。

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)れることです。 .

この問題を解決するにはどうすればよいundefinedですか? 前もって感謝します。

4

2 に答える 2

1

enctype="multipart/form-data"body-parser を使用してmultipart data( ) を解析しようとしています。それをしてはいけない。ドキュメントにも書いてあります。マルチパート フォーム データを解析する場合は、connect-multipartyモジュールを使用します。

于 2015-06-12T18:07:30.493 に答える
0

このコードを使用して動作させることができました

var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var app = express();

mongoose.connect("mongodb://localhost/database");
var userSchema = {
    name: String,
    pass: Number
};

var User = mongoose.model("User",userSchema);

app.use(express.static("public"));
app.set("view engine","jade");
app.get('/',function(req,res){
    res.render("index");
});

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));


app.post("/auth",function(req,res){

    console.log(req.bodyParser);
    var data={name:req.body.name,
                pass:req.body.pass};
    console.log(data);
    res.render("index");
});    

app.listen(8080);
console.log('Service started');

方法はまだわかりませんが、うまくいきます。

于 2015-06-12T18:18:42.937 に答える