【发布时间】:2016-03-09 05:01:02
【问题描述】:
我使用 3rd 方插件(multiple 和 wmd-editor)制作了一个表单。 我的 HTML 是:
<form id="form" class="form" method="post" action="/questions">
<div id="title" class="form__title">
<div id="question_title">Title</div>
<input id="input_element1" class="input_element" type="text" placeholder="What's your programming question? Be specific." name="title">
</div>
<div class="text-area">
<div id="wmd-button-bar"></div>
<br/>
<textarea id="wmd-input" name="text"></textarea>
<div id="wmd-preview"></div>
<br/>
</div>
<div class="inputtags form__tags">
<select id="options" multiple="multiple" name="tags">
</select>
<div class="inputtags__element"></div>
<div class="inputtags__errors"></div>
<br>
<div id="inputtags__post">
<button class="btn" id="btn-submit">
Post Your Question
</button>
<button class="btn" id="btn-discard">
Discard
</button>
</div>
</div>
</form>
我正在使用 javascript 在选项中添加标签,而 javaScript 代码是:
var index = -1;
var htmlStr = tags.reduce(function(a,b){
index++;
return a + "<option value="+(index+1)+" name="+b+">"+b+"</option>";
},'');
$("#options").html(htmlStr);
我在我的 node.js(express 框架)的路由文件中获取这些:
router.post('/questions', function(req,res){
var question = req.body;
console.log(question);
Question.createQuestion(question);
res.redirect('/');
});
这里 req.body 应该按照expressjs Documentation 的建议给我 DOM 的名称。我已经在我的 javascript 代码中为我的选项命名,但是当数据被推送到数据库时,req.body 会返回以下内容:
{
title: 'title',
text: '<p>Body</p>',
tags: [ '1', '2', '3', '4', '5', '6', '7', '8' ]
}
我在 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 session = require('express-session');
var mongoose = require('mongoose');
var passport = require('passport');
var flash = require('connect-flash');
我做错了什么?
【问题讨论】:
-
当您使用
express(假设它)时,您是否需要body-parser、formidable或multer(其中任何一个)从post/put请求中提取正文?更多github.com/expressjs/body-parser默认不加在express 4中 -
@nmrony 我确实需要 body-parser。
-
你的中间件配置顺序是什么?
-
@nmrony我怎样才能得到它?我是节点的新手。
标签: javascript html node.js express