【发布时间】:2014-02-04 04:08:14
【问题描述】:
我正在开发一个sails.js(基于express的node.js框架)应用程序,进展顺利,但是]我无法解决这个细节......
我需要从 Internet Explorer 8 和 9 跨域发送 POST 请求。为此,我不得不使用 xDomainRequest 对象,它不允许设置内容类型标头。
所以,当请求到达服务器时,内容类型是“text/plain”,它不会触发 bodyParser express 中间件,所以我的 req.body 是一个空对象,我看不到我的有效负载'从客户端发送。
为此,我尝试了两件事但没有运气:
首先我想在我的第一个中间件中为请求设置一个标头,这当然不可用:
req.set("Content-type", "Apli.....
然后,我创建了一个监听 req.on('data') 的中间件,如下所示:
var data = "";
req.on('data', function(chunk){
data += chunk;
});
req.on('end', function(){
req.rawBody = data;
next();
});
但数据事件永远不会触发!
有谁知道如何访问我的原始有效负载,以便我自己解析它。 谢谢!
【问题讨论】:
标签: node.js post express sails.js