对飞行前请求的响应未通过访问控制检查。请求的资源上不存在“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头。如何添加标题?
检查这个答案:CORS如何工作
有关概述:
>
启用CORS选项以向响应添加“Access-Control-Allow-Origin”:“*”头。不要将authonticater添加到选项资源。
对于最佳实践,如果将这些标头添加到响应中,则不需要重写浏览器设置。
“Access-Control-Allow-Origin”:“*”,“Access-Control-Allow-Credentials”:true