我正在尝试使用fetch发布 JSON对象。
据我了解,我需要将一个字符串化的对象附加到请求的主体,例如:
fetch("/echo/json/",
{
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: "POST",
body: JSON.stringify({a: 1, b: 2})
})
.then(function(res){ console.log(res) })
.catch(function(res){ console.log(res) })
当使用jsfiddle的json回显时,我希望看到我已经发送{a: 1, b: 2}
回()的对象,但这不会发生-chrome devtools甚至不将JSON显示为请求的一部分,这意味着它没有被发送。
这对某人可能有用:
我遇到的问题是未按我的要求发送formdata
在我的情况下,是以下标头的组合也导致了问题和错误的Content-Type。
因此,我随请求发送了这两个标头,而当我删除了有效的标头时,它没有发送formdata。
还有其他答案表明Content-Type标头需要正确。
对于我的请求,正确的Content-Type标头是:
因此,如果您的表单数据未附加到请求中,那么最重要的是,它可能是您的标头。尝试将标题最小化,然后尝试将它们一个接一个地添加,以查看问题是否得到解决。