在node.js表达应用程序,req.body没有得到<textarea>值?

时间:2016-05-03 12:33:29

标签: javascript html node.js express textarea

&lt; p&gt;我正在使用node.js中的快速应用程序。我有以下html表单(inputForm.html):&lt; / p&gt; &lt; pre&gt;&lt; code&gt;&lt; form action =“/”method =“post”&gt; 名称:&lt; br&gt;     &lt; input type =“text”name =“name”size =“45”&gt;     &LT峰; br&GT;     文件:&lt; br&gt;     &LT; TextArea&GT; &lt; input type =“text”name =“document”size =“45”&gt; &LT; / textarea的&GT;     &LT峰; br&GT;     &LT峰; br&GT; &lt; input type =“submit”&gt; &LT; /形式&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;和以下javascript文件:&lt; / p&gt; &lt; pre&gt;&lt; code&gt; app.use(bodyParser.urlencoded({extended:false})); app.use(bodyParser.json()); app.use(bodyParser.json({type:'application / vnd.api + json'})); app.get('/',function(req,res){   res.sendFile(__ dirname +“/”+“inputForm.html”); }); app.post('/',function(req,res){     var name = req.body.name;     var document = req.query.document;     的console.log(req.body); }); &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;但是,当我将req.body打印到控制台时,只显示第一个值(名称)。如果我删除textarea标签,文档也会显示出来。但是,我想留下它,因为我想保留文档输入中的自然换行符。任何人都知道我需要做些什么来解决这个问题?&lt; / p&gt; &lt; p&gt;非常感谢!&lt; / p&gt;

1 个答案:

答案 0 :(得分:2)

document是textarea默认文本的一部分。

textarea本身没有name,因此它无法成功控制并且无法向服务器提交任何数据。

给它起个名字。

<textarea name="document"> &lt;input type=&quot;text&quot; name=&quot;document&quot; size=&quot;45&quot;&gt; </textarea>