我正在尝试模拟基于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
答案 0 :(得分:3)
答案 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());