Mod note:这个问题是关于为什么浏览器上的
XMLHttpRequest
/fetch
/etc受到相同的访问策略限制(您会看到提到CORB或CORS的错误),而Postman没有.这个问题是关于如何修复"不允许访问控制允许源"错误这是关于它们为什么会发生.
Please stop posting:
- 阳光下每种语言/框架的CORS配置.取而代之的是find your relevant language/framework's question美元.
- 允许请求绕过CORS的第三方服务
- 用于关闭各种浏览器的CORS的命令行选项
我试图通过连接RESTful API内置Flask来使用JavaScript进行授权.然而,当我提出请求时,我得到了以下错误:
无法加载XMLHttpRequesthttp://myApiUrl/login.请求的资源上不存在"Access Control Allow Origin"标头.因此,不允许访问源"null".
我知道API或远程资源必须设置头,但当我通过Chrome extension 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);
});