不能在heroku上用Node.js做多个名称字段的POST
Can't do multiple name-field POST with Node.js on heroku
我正在开发一个web应用程序与Node.js。我用enctype="multipart/form-data"
写了一个隐藏的表单来上传文件和一些文本,但奇怪的是,我只能在herokuapp服务器上获得一个字段(表单中的名称),而不是我想要的多个字段。
<form action="/target" method="post" enctype="multipart/form-data">
<input hidden type="file" name="file" id="file">
<input hidden type="text" name="A" id="A" value="AAA">
<input hidden type="text" name="B" id="B" value="BBB">
<input hidden type="text" name="C" id="C" value="CCC">
<input hidden type="submit" value="Submit">
</form>
服务器端代码如下:
app.post('/target', function(req, res, next) {
console.log(req.files.file.path);
console.log(req.body.A);
console.log(req.body.B);
console.log(req.body.C);
res.end();
})
我只能得到req.body.C
与其他2剩余的undefined
,但它完全正常,当我在本地主机上运行。
我使用multer来处理多部分表单,配置:
app.use(multer({dest:'./public/uploads/'}))
请使用环境变量NODE_ENV=production
在本地运行服务器。这将像在生产环境中运行服务器一样运行服务器。然后尝试重现此问题。
另一件要考虑的事情是您使用的是哪个Express版本。Express 4不再提供正文解析器中间件;你必须自己把它带来。
为提出建议作为回答而道歉。我还没有足够的声望来发表评论
Heroku有一个只读文件系统。可写入目录为。/tmp或。/log。祝你好运!
相关文章:
- Jquery ajax post禁用启用字段并获取响应
- 如何在Express中获得POST字段,而不使用bodyParser中间件
- 当字段高于 15 时,在 [HTTP POST] 之后打开花式框
- 如何在 PHP 中将 JavaScript 代码作为 POST 或 GET 字段传递
- 如何在 CKeditor 上传中向 POST 值添加字段
- 在AngularJS应用程序中使用$http从post请求中剥离头字段
- 在Angular post请求之前删除字段中的空白
- 通过PHP将Javascript动态HTML输入POST(每个添加的输入都需要重命名字段's)
- (PHP+JQueryTools)Javascript填充的输入字段在POST后返回null
- 使用Javascript设置隐藏字段值;使用PHP post方法发送数据
- Jquery post表单与多个相同的名称字段
- Post选择的选项从html " select "到其他字段
- 如何将多维json转换为嵌套的POST字段
- 特定字段id的Ajax POST数据
- POST字段被Chrome截断
- 不能在heroku上用Node.js做多个名称字段的POST
- 如何在jquery/PHP中通过post传递选项字段和输入框的值
- 如何POST一个extjs标签字段作为一个数组,没有引号
- POST每个隐藏输入字段的字符串化对象
- 允许AJAX Post.如果字段不为空,请单击