curl with nodejs express - POST数据

时间:2014-02-28 16:30:12

标签: node.js curl express

我正在尝试模拟基于Express for nodeJS的服务器应用程序的POST请求。它正在localhost:3000上运行(JS Fiddle:http://jsfiddle.net/63SC7/

我使用以下CURL行:

 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 个答案:

答案 0 :(得分:3)

假设您正在尝试req.body.text

您有use d bodyParser吗?

app.use(express.bodyParser());

答案 1 :(得分:0)

josh3736的答案已过时。 Express不再与人体分析器中间件一起提供。要使用它,您必须先安装它:

npm install --save body-parser

然后要求并使用:

let bodyParser = require('body-parser');
app.use(bodyParser());

答案 2 :(得分:0)

只需更新Thordarson的答案(现已弃用),当前推荐的方法是:

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());

另请参阅https://stackoverflow.com/a/24330353/3810493