我有一个运行在端口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对象,但不能通过使用提取来查看。为什么会这样?
答案 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'
})
})