首页 > 解决方案 > 无法从 React 应用程序获取 API

问题描述

我在 Google Cloud Function 中构建了 API。当我尝试直接获取 API 时发生 CORS 错误。虽然我添加了Access-Control-Allow-Origin,但它失败了。

错误:

来自原点“ http://localhost:3000 ”的“ https://xxxxxxx.com ”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”标头存在于请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

const apiURL = 'https://xxxxxxx.com'

const headers = new Headers();
headers.set("Content-type", "application/json");
headers.set("Access-Control-Allow-Origin", "*");

const createRes = await fetch(
  `${apiURL}/testFetch`,
  {
    method: "POST",
    headers: headers,
    body: JSON.stringify({
      test: "test"
    }),
  }
);

标签: reactjsapi

解决方案


Access-Control-Allow-Origin 是响应标头。它应该是您响应的一部分,而不是请求的一部分。请确保您的 API 返回相应的标头。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin


推荐阅读