HTTP POST 请求适用于 Postman,但不适用于我的 Web 应用程序的 JavaScript 提取 [关闭]
Posted
技术标签:
【中文标题】HTTP POST 请求适用于 Postman,但不适用于我的 Web 应用程序的 JavaScript 提取 [关闭]【英文标题】:HTTP POST request works with Postman but not with my web application's JavaScript fetch [closed] 【发布时间】:2021-07-17 09:29:12 【问题描述】:我有一个开发网站的测试环境。此 javascript 代码给出错误“415 unsupported media”。
const sendData = async () =>
const result = await fetch(`$databaseURL/categories`,
method: 'POST',
headers: new Headers(
accept: 'application/json',
'contet-type': 'application/json'
),
body: "Name":"", "isHTTPS":0, "DisplayName":""
);
const json = await result.json();
与 Postman 配合得很好。 GET 请求确实在 Web 应用程序中工作。尝试了几件事,例如在标题中添加“no-cors”和对正文进行字符串化。结果相同。 对于我的后端,我正在运行一个 .NET C# 应用程序。我可能错过了什么。你能帮助我吗?调查我的问题需要哪些额外信息?
谢谢。
【问题讨论】:
【参考方案1】:注意拼写错误的 Content-Type 标头。
您的 fetch 函数说它正在发送 JSON,但您仍然必须实际发送 JSON 以供接收端对其进行解码。
在发送之前使用JSON.stringify()
将您的body
对象转换为JSON。
const result = await fetch(`$databaseURL/categories`,
method: 'POST',
headers: new Headers(
accept: 'application/json',
'Content-Type': 'application/json'
),
body: JSON.stringify(
"Name": "",
"isHTTPS": 0,
"DisplayName": ""
)
);
【讨论】:
以上是关于HTTP POST 请求适用于 Postman,但不适用于我的 Web 应用程序的 JavaScript 提取 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
POST 请求适用于 Postman,但不适用于 Guzzle
POST 请求适用于 Postman,但不适用于 axios 或 .fetch()
POST 请求适用于 Postman,但不适用于 axios.post()