【发布时间】:2014-01-26 22:38:18
【问题描述】:
当我在没有指定enctype 的情况下设置表单时,Firefox 会自动将其设置为application/x-www-form-urlencoded 并且req.body 包含输入到表单中的所有参数的漂亮JSON 表示。但是当我把enctype改成multipart/form-data时req.body突然就空了。
这是我的表格:
<form action="/create" method="post" enctype="multipart/form-data">
<fieldset>
<div>
<label>Category:</label>
</div>
<div>
<select name="category">
<option value="standard">Standard</option>
<option value="custom">Custom</option>
</div>
<div>
<input type="text" name="description">
</div>
<div>
<label>User ID:</label>
</div>
<div>
<input type="text" name="userid">
</div>
<div>
<input type="submit" value="Go">
</div>
</fieldset>
</form>
当enctype 为multipart/form-data 并且未指定enctype 时,执行console.log(JSON.stringify(req.body, null, 2)); 会打印出一个空对象,它会打印出如下内容:
{
category: "standard",
userid: "foo"
}
发生这种情况有什么原因吗?
【问题讨论】:
标签: json forms node.js express