如何从node.js服务器的传入请求主体中排除JSON
我想发送POST方法的请求体内的JSON数据到一个将被写入node.js的服务器。 我试过了一个代码
var http = require('http'); http.createServer(function (req, res) { console.log(req.body) }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
我用curltesting过;
curl -i -v -X POST -d '{"a":5}' http://127.0.0.1:1337 -H "content-type:application/json"
但它说身体是不确定的。
有没有办法从请求获取JSON数据?
谢谢!
Node.js是非常低级的。 要么你必须自己捕获请求主体,要么使用类似connect的东西。
DIY:
var http = require('http'); http.createServer(function (req, res) { var body = ''; req.on('data', function(data) { body += data; }); req.on('end', function() { console.log(body); }); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
连接:
var connect = require('connect'); connect() .use(connect.bodyParser()) .use(function(req, res) { console.log(req.body); }) .listen(3000);