【问题标题】:'Access-Control-Allow-Origin' header in the response must not be the wildcard '*'响应中的“Access-Control-Allow-Origin”标头不能是通配符“*”
【发布时间】:2018-10-09 13:26:34
【问题描述】:

无法加载http://localhost:3000/api/mobiles/1234567897:响应 预检请求未通过访问控制检查:值 响应中的“Access-Control-Allow-Origin”标头不得为 当请求的凭据模式为“包含”时,通配符“*”。 Origin 'http://localhost:8080' 因此不允许访问。

我在前端使用 react,后端使用 rails。

我收到上述错误。

我是这样发送请求的:

options = {
  method: "GET",
  credentials: "include",
  headers: {
    "Content-type": "application/json; charset=UTF-8"
  }
}
// CLIENT_URL and uri is my back end url.
return fetch(`${CLIENT_URL}${uri}`, options).then(data => data.json());

【问题讨论】:

  • 错误很明显。要么你不应该发送 cookie,要么你的服务器需要修改它的 cors 标头

标签: ruby-on-rails ajax reactjs fetch


【解决方案1】:

我没有使用过 Rails,但是当我使用 python flask 作为后端时遇到了同样的问题,我可以通过在后端允许跨源 (CORS) 来解决这个问题 Flask CORS

app=Flask(__name__)
CORS(app)

【讨论】:

    【解决方案2】:

    这是一个与 CORS 相关的问题。请查看 rack-cors gems github 页面的文档。

    【讨论】:

      猜你喜欢
      • 2019-02-08
      • 2020-09-21
      • 2019-01-16
      • 1970-01-01
      • 2017-06-23
      • 2020-11-27
      • 1970-01-01
      • 2020-08-30
      • 2016-01-11
      相关资源
      最近更新 更多