我已经使用第三方插件(多重和wmd编辑器)做了一个表单。 我的HTML是:req.body没有给出名称
<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的途径获取文件这些(快递框架)为:
router.post('/questions', function(req,res){
var question = req.body;
console.log(question);
Question.createQuestion(question);
res.redirect('/');
});
这里req.body应该给我的DOM的名称作为expressjs Documentation建议。我已经在我的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');
我做错了什么?
你需要'身体parser','formidable'或'multer'(任何人)从'后提取体/ put'请求,当你使用'express'(假设它)?它不会被添加到默认快速4更多https://github.com/expressjs/body-parser –
@nmrony我确实需要身体分析器。 –
中间件配置的顺序是什么? –