gpt4 book ai didi

postman 执行操作时,javascript fetch 未发布到 rest api 端点

转载 作者:行者123 更新时间:2023-11-30 20:38:40 24 4
gpt4 key购买 nike

我有一个 rest api 端点,我正在使用正确发布的 POSTMAN 检查它。但是,当我使用 JAVASCRIPT FETCH 执行此操作时,我无法发布它。下面是我的获取代码:

const { inputAOI, wktForCreation } = this.state

fetch('http://192.168.1.127:8080/aoi/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ userName: 'fuseim', aoiName: inputAOI, wkt: wktForCreation }),
mode: 'no-cors'
}).then(function (response) {
if (response.ok) {
return response.json()
} else {
throw new Error('Could not reach the API: ' + response.statusText)
}
}).then(function (data) {
console.log({ data })
}).catch(function (error) {
console.log({ error })
})

下面是请求 header 的图像。 error image

从上图中可以看出,在Request Headers中,Content-Type仍然是text/plain,但我发送的是application/json 如上获取代码所示。

检查控制台中的响应预览。 error 2 image

下面是正确的 POSTMAN 请求: postman image

最佳答案

正如评论中所暗示的,问题出在 mode:"no-cors"

Content-Type 被认为是一个简单的 header ,应该允许没有 cors,只能使用以下值:

  • 应用程序/x-www-form-urlencoded
  • 多部分/表单数据
  • 文本/纯文本

参见:https://fetch.spec.whatwg.org/#simple-header

如果您在与脚本相同的主机/端口上运行 API,您应该使用 mode: "same-origin" 或者添加脚本运行的主机/端口作为API 上允许的来源。

有关 CORS 的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

关于 postman 执行操作时,javascript fetch 未发布到 rest api 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49535887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com