1

ブートストラップを使用してフォームを作成していますが、送信ボタンをクリックしても、バックエンド サーバーに POST データが送信されません。

フロントのコードは次のとおりです。

    <form class="form-horizontal" id="level_form" method="post" action="" data-confirm="Ready to submit?">
            <div class="control-group">
                <label class="control-label" for="startDate"></label>
                <div class="controls">
                    <input type="date" id="startDate">
                    <span class="label label-important hidden" id="startDateHelper"></span>
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="stopDate"></label>
                <div class="controls">
                    <input type="date" id="stopDate">
                    <span class="label label-important hidden" id="stopDateHelper"></span>
                </div>
            </div>

            <div class="form-actions">
                <button type="submit" class="btn btn-primary">submit</button>
                <button type="button" class="btn">preview</button>
            </div>
    </form>

バックエンドは次のとおりです。

app.use(express.bodyParser());


app.engine('html', cons.mustache);
app.set('view engine', 'html');
app.set('views', __dirname+'/views');
app.use(express.static(__dirname + '/public'));


app.use(express.basicAuth(function(user, pass){
    return user == 'admin' && pass == 'solid'
}));

app.use(app.router);



app.get('/', function(req, res){
    res.render('index', {});
});

app.get('/new_level', function(req, res){
    res.render('level_editor', {action_url:'/new_level'});
});
app.post('/new_level', function(req, res){
    console.log(req.body);
    res.send(req.body);
});

しかし、私が得たのは「{}」だけです。どこで間違ったのでしょうか? html 部分ですか、それともノード部分ですか?

4

1 に答える 1

3

あなたのhtmlaction="/new_level"とすべての入力にはname属性が必要です。ここでNode.js/Express フォーム投稿 req.body が機能しないことを確認してください

于 2013-01-16T04:40:46.480 に答える