繁体   English   中英

获取 api - 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP 正常状态 [重复]

[英]fetch api - has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status [duplicate]

关于这个主题有很多类似的问题,但我在这个 fetch api 请求中找不到我缺少的东西。 你能帮我克服这个错误吗? 如何在获取 api 请求中设置 http 状态正常。 我知道我们需要为 OPTIONS 方法设置它,但不知道如何设置它。

我也尝试添加no-cors模式,但代码 415 失败

当我尝试使用 Postman 时出现相同的请求,它工作正常但无法获取 api 请求

错误: from origin 'https://example.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status

var myHeaders2 = new Headers();
myHeaders2.append("Content-Type", "application/json");
myHeaders2.append("Accept", "application/json");
myHeaders2.append('Acces-Control-Allow-Origin', 'https://example.com');
myHeaders2.append('Access-Control-Allow-Methods', "DELETE, POST, GET, OPTIONS");
myHeaders2.append("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, Origin, X-Auth-Token");
myHeaders2.append("Access-Control-Max-Age", "86400");
// myHeaders2.append("status", "200");


let obj = {};
obj.file_name = 'test1.txt';
obj.file_content = objJsonB64;

var raw = JSON.stringify(obj);

var uploadReqOptions = {
    method: 'POST',
    headers: myHeaders2,
    body: raw,
    redirect: 'follow'
};

fetch("https://destinationxyz.com", uploadReqOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));

我已经面临这个问题。 告诉您的 api 提供商在他们的代码中设置Acces-Control-Allow-Origin 这不是您的代码的问题。 冷……

安装 chrome 扩展“CORS 解锁”。 问题是由您的浏览器阻止请求引起的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM