我试图将JSON发送到我的NodeJS路由。
curl -H "Content-Type: application/json" -d '{"name":"homer"}' http://localhost:3000/api
所以,在我的server.js:
...
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json({extended:true}));
app.use(methodOverride('_method'));
...
然后,在我的路线中:
router.post('/api', function (req, res){
console.log(req.body);
});
因此,输出显示undefined
我做错了吗?我使用的是Express v4。
答案 0 :(得分:1)
Express 4中的中间件和路由按照它们添加到您的应用程序的顺序执行。因此,您需要确保在使用bodyParser
中间件后使用您的路由。
答案 1 :(得分:0)
JSON stringify从对象生成一个字符串。 使用
JSON.parse({"name":"homer"})
或
$.param({"name":"homer"})