0

我正在使用 expressjs 4.12.3,并尝试连接到 connect-busboy,但根据请求我无法获取 req.busboy 对象,它显示“未定义”我的简单代码如下:

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 模块,将其分配给应用程序,同时发送 content-length: "5276" content-type:'application/x-www-formurlencoded' 作为标题。

我究竟做错了什么??

4

1 回答 1

0

问题是您正在设置事件处理程序,但实际上并没有将请求传递给busboy,因此它可以解析请求。req.pipe(req.busboy);在您的 busboy 事件处理程序之后添加它应该可以正常工作。

编辑:我稍微误读了你的问题。如果req.busboyundefined那意味着Content-Type错误。如果你Content-Type 真的是 application/x-www-formurlencoded,那是错误的。应该是:application/x-www-form-urlencoded

于 2015-03-31T06:13:50.193 回答