如何在正文设置为原始数据的情况下访问邮递员请求的req.body.title

时间:2018-08-21 13:31:18

标签: javascript express postman postman-collection-runner

这是我正在使用的原始数据。默认情况下,它设置为“文本”。

{  
   "title":"New Course",
   "description":"My course description",
   "user":{  
      "_id":"57029ed4795118be119cc437"
   },
   "steps":[  
      {  
         "title":"Step 1",
         "description":"My First Step"
      }
   ]
}

我正在使用以下方式接收路线中的数据:

if (req.body.title && req.body.description) {
    //  something good
} else {
    //  bad news bears
}

但是由于某种原因,它返回false。并且这些值是不确定的。

1 个答案:

答案 0 :(得分:2)

正如您在评论中提到的,获得error: "Unexpected token o in JSON at position 1".仅当您正在分析已经是JSON对象的数据时才会出现此错误。

请尝试按照以下步骤调试问题,希望对您有所帮助:)

  1. 在向服务器发送请求之前,在POSTMAN中将content-type标头设置为application/json
  2. 在上面的代码中,将console.log(req.body)放在if条件if (req.body.title && req.body.description)之前,并验证您在服务器端获取的数据类型
  3. 如果body是对象,则可以访问其属性,如果body是字符串,则需要使用JSON.parse(req.body)
  4. 将其解析为JSON。