Mod注意:这个问题是关于为什么
XMLHttpRequest
/fetch
/等。浏览器上的受相同访问策略限制(您会收到提及 CORB 或 CORS 的错误),而 Postman 则不受此限制。这个问题不是关于如何修复“No 'Access-Control-Allow-Origin'...”错误。这是关于它们发生的原因。
请停止发帖:
- 日光下每种语言/框架的 CORS 配置。而是找到您的相关语言/框架的问题。
- 允许请求规避 CORS 的 3rd 方服务
- 用于关闭各种浏览器的 CORS 的命令行选项
我正在尝试通过连接到RESTful API内置Flask来使用JavaScript进行授权。但是,当我提出请求时,我收到以下错误:
XMLHttpRequest 无法加载 http://myApiUrl/login。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。
我知道 API 或远程资源必须设置标头,但是为什么当我通过 Chrome 扩展Postman发出请求时它会起作用?
这是请求代码:
$.ajax({
type: 'POST',
dataType: 'text',
url: api,
username: 'user',
password: 'pass',
crossDomain: true,
xhrFields: {
withCredentials: true,
},
})
.done(function (data) {
console.log('done');
})
.fail(function (xhr, textStatus, errorThrown) {
alert(xhr.responseText);
alert(textStatus);
});