我正在使用expressjs 4.12.3,并尝试连接到connect-busboy,但是根据要求我无法获得req.busboy对象,它说“undefined”我的简单代码如下:
var express=require('express');
var busboy = require('connect-busboy');
var app=express();
app.use(busboy());
app.use(function(req, res, next) {
req.busboy.on('field', function(fieldname, val) {
// console.log(fieldname, val);
req.body[fieldname] = val;
});
req.busboy.on('finish', function(){
next();
});
});
app.listen(5555);
我已初始化busboy模块,将其分配给应用程序,也发送 内容长度:“5276” content-type:'application / x-www-formurlencoded'作为标题。
我做错了什么?
答案 0 :(得分:0)
问题是您正在设置事件处理程序,但您实际上并未将请求传递给 busboy,因此它可以解析请求。在你的busboy事件处理程序之后添加req.pipe(req.busboy);
,它应该可以正常工作。
编辑:我稍微误解了您的问题。如果req.busboy
为undefined
,则表示Content-Type
错误。如果您的Content-Type
确实是 application/x-www-formurlencoded
,那就错了。 应:application/x-www-form-urlencoded
。