Nest无法从提取请求中识别POST

时间:2020-11-11 12:40:29

标签: javascript http nestjs

我有一个运行在端口3000上的react应用程序,向端口8080上的NestJS服务器发出POST请求。我的客户端是:

fetch('http://localhost:8080/confirm-reservation', {
    method: 'POST',
    headers: {
        'Content-Type':'application/json'
     },
     mode: 'cors',
     data: {
         key: 'this is a value'
      }
})

控制器很简单

@Controller('confirm-reservation')
export class AppController {
    @Post()
    postForm(@Body() form:any) {
        console.log(form)
     }
}

在我的主服务器上,我有app.enableCors();

提交请求时,我得到一个空的{}

我可以使用具有与我的浏览器相同的标头的Postman发出请求,并且可以查看服务器中的req对象,但不能通过使用提取来查看。为什么会这样?

1 个答案:

答案 0 :(得分:1)

使用options对象中的body属性,没有data属性。然后以JSON格式发送数据。

fetch('http://localhost:8080/confirm-reservation', {
  method: 'POST',
  headers: {
    'Content-Type':'application/json'
  },
  mode: 'cors',
  body: JSON.stringify({
    key: 'this is a value'
  })
})