2014-02-28 192 views
1

我试图模拟POST请求到基于Express的nodeJS服务器应用程序。它运行在localhost:3000(JS小提琴:http://jsfiddle.net/63SC7/curl with nodejs express - POST数据

我用下面卷曲行:

curl -X POST -d "{\"name\": \"Jack\", \"text\": \"HULLO\"}" -H "Content-Type: application/json" http://localhost:3000/api 

,但得到的错误信息:

Cannot read property 'text' of undefined 

任何想法我做错了吗?

注:我可以用这条线成功的GET请求:

curl http://localhost:3000/api

回答

3

假设你想req.body.text

你有use d bodyParser

app.use(express.bodyParser()); 
+0

非常感谢!每当我想使用POST数据时,是否需要将此行添加到服务器代码中?不要以为你知道一个很好的在线资源来了解更多关于此的信息? – user3281031

+0

'bodyParser'是可选的中间件。默认情况下,Express不解析请求主体。所以,是的,您需要'使用'bodyParser'(每个应用一次),或者如果您不想/不需要为每个请求解析请求主体,则可以将其包含在单个路由的中间件链中。要了解更多信息,Express [guide](http://expressjs.com/guide.html)和[API参考](http://expressjs.com/3x/api.html)是一个很好的开始。 – josh3736