Я новичок в nodejs, и сейчас я учусь http-модулю.
Я написал js-программу для узла, чтобы проверить, является ли тип контента application / json в запросе, тогда он должен утешитьв «читаемом» событии.
Что происходит: при одном запросе «читаемое» событие вызывается дважды и печатает значение в первый раз и во второй раз, когда возвращается ноль.
ЗдесьКод:
var connect = require('connect');
function jsonParse(req, res, next) {
if (req.headers['content-type'] == 'application/json' && req.method == 'POST') {
var readData = '';
req.on('readable', function() {
console.log('inside readable ' + req.read());
readData += req.read();
});
req.on('end', function() {
try {
req.body = JSON.parse(readData);
} catch (e) {
}
next();
})
} else {
next();
}
}
connect()
.use(jsonParse)
.use(function(req, res) {
if (req.body) {
res.end('JSON parsed !' + req.body);
} else {
res.end('no json detected !');
}
}).listen(3000);
Я называю это так: ![enter image description here](https://i.stack.imgur.com/kSk7X.png)
вывод: внутри читаемый {"foo": "asdf"} внутриreadable null
Пожалуйста, сообщите мне, как я могу справиться с этим.Заранее спасибо.