【问题标题】: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 - 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态 [重复]
【发布时间】:2021-05-23 06:37:13
【问题描述】:

围绕这个主题有很多类似的问题,但我在这个 fetch api 请求中找不到我缺少的东西。你能帮我克服这个错误吗?如何在 fetch 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));

【问题讨论】:

    标签: javascript rest fetch fetch-api


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我已经遇到过这个问题。 告诉您的 api 提供商在他们的代码中设置 Acces-Control-Allow-Origin。 这不是您的代码的问题。 凉凉.....

      【讨论】:

        猜你喜欢
        • 2020-01-29
        • 2020-07-30
        • 2021-09-16
        • 2021-04-15
        • 2019-08-09
        • 2019-07-07
        • 2019-04-17
        • 2020-06-06
        相关资源
        最近更新 更多