关于这个主题有很多类似的问题,但我在这个 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));
答案 0 :(得分:-1)
我已经遇到了这个问题。
告诉您的 api 提供者在他们的代码中设置 !is.na()
。
这不是您的代码的问题。
冷静.....
答案 1 :(得分:-1)
安装 chrome 扩展“CORS unblock”。 问题是由于您的浏览器阻止了请求