这是我的代码,非常简单:
var express = require('express');
var http = require('http');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.text());
app.all('*', function (req, res) {
console.log(req.body);
});
http.createServer(app).listen(4001, function () {
console.log("Express server listening on port ");
});
有两种帖子需要接收: 一个
Content-Type:application / x-www-form-urlencoded;为text / html;字符集= UTF-8
另一个
Content-Type:text / plain; charset = utf-8
我只能收到第二种帖子。 我也可以收到第一种发布请求,但为什么身体是空的? 我用wirehake来证实身体不是空的。
=============================================== ======================= 我已经尝试了不同的方法来处理那些可以成功发布数据的帖子。但我不知道为什么express或body-parse不能用于该帖子。以下是代码:
var server = function(req, res){
var postdata = "";
req.addListener("data", function(postchunk){
postdata += postchunk;
});
}
答案 0 :(得分:1)
尝试发送响应,以便连接实际完成。在你的app.all中,设置如下:
res.status(200).send();
......对我有用。