【发布时间】:2021-08-18 19:23:28
【问题描述】:
我正在尝试发出删除后端实体的 API 请求。我的 spring 服务器和 node.js 服务器运行在不同的端口上。
当我尝试启用 cors 的获取请求 (mode: "cors") 时,我收到一条错误消息,指出该请求已被 cors 策略阻止。当我禁用 cors (mode: "no-cors") 时,我收到以下错误:
Failed to execute 'fetch' on 'Window': 'DELETE' is unsupported in no-cors mode.
请求代码:
export async function deleteOneProcessType(id) {
let ret = await fetch(`${restUri}${uri}/${id}`, {
method: "DELETE",
mode: "no-cors"
})
}
我有类似的 POST 和 GET 方法,但禁用了 cors,效果很好。
【问题讨论】:
-
cors 策略错误意味着您需要启用它。删除您的“模式:no-cors”并在您的后端启用 cors 请求。添加 'mode: cors' 并没有做很多改变它在你的 abckend 中没有启用
-
是的,我知道。我已经在我的后端启用了 cors 请求。我已经有几个 POST 请求可以正常工作。它们与我在问题中提到的删除请求完全相同,但它们不是 DELETE,而是 POST。问题似乎是 DELETE 方法与 POST 方法的工作方式不同,但我一直无法找到解决方案
-
您的后端是否在 Azure 上运行?如果是这样,您必须确保您的 javascript 前端经过 ssl 认证 (https)
标签: javascript reactjs cors fetch fetch-api