我想将POST方法的请求体中的JSON数据发送到将在node.js中编写的服务器。我尝试过像<; p>这样的代码
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/');
我用curl测试了它;
curl -i -v -X POST -d '{"a":5}' http://127.0.0.1:1337 -H "content-type:application/json"
但它说身体未定义。
有没有办法从请求中获取JSON数据?
感谢!
答案 0 :(得分:3)
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);