提问者:小点点

CORS:如何设置“Access-Control-Allowed-Origin”请求头


对飞行前请求的响应未通过访问控制检查。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问起源“http://localhost:3000”。响应的HTTP状态代码为522。如果不透明响应满足您的需要,请将请求的模式设置为“no-cors”,以便在禁用CORS的情况下获取资源。因此,不允许访问起源“http://localhost:3000”。响应的HTTP状态代码为522。如果不透明响应满足您的需要,请将请求的模式设置为“no-cors”,以便在禁用CORS的情况下获取资源。

如何向json添加请求头?

var options = {
        body: info,
        type: 'json'
    }

然后`

doGetCall(url, options = {}) {
let callOptions = {
  method: 'GET'
}
callOptions.headers = {
  'Content-Type': 'application/json',
  'Access-Control-Allow-Origin': 'http://localhost:3000'
}

return this.doCall(url, callOptions);

}

最后

doCall(url, options) {
if (!options.noauth) {
  options.headers = options.headers || {};
  options.headers.Authorization = 'Bearer ' + Account.token;
}
return fetch(url, options).then(response => response.json());

}

这是行不通的。请求标头具有:

Access-Control-Request-Headers:Access-Control-Allow-Origin,authorization,content-type

但没有Access-Controllow-Origin头。如何添加标题?


共1个答案

匿名用户

检查这个答案:CORS如何工作

有关概述:

>

  • 启用CORS选项以向响应添加“Access-Control-Allow-Origin”:“*”头。不要将authonticater添加到选项资源。

    对于最佳实践,如果将这些标头添加到响应中,则不需要重写浏览器设置。

    “Access-Control-Allow-Origin”:“*”,“Access-Control-Allow-Credentials”:true