为什么我的 JavaScript 代码收到“请求的资源上不存在'访问控制-允许-源'标头”错误,而 Postman 则没有?
Mod注意:这个问题是关于为什么浏览器上的//etc.受到相同的访问策略限制(你会得到提到CORB或CORS的错误),而Postman不是。这个问题不是关于如何修复“没有'访问控制-允许-起源'...”错误。这是关于它们为什么会发生。
XMLHttpRequest
fetch
请停止发帖:
- 适用于阳光下每种语言/框架的 CORS 配置。相反,找到你的相关语言/框架的问题。
- 允许请求绕过 CORS 的第三方服务
- 用于关闭各种浏览器的 CORS 的命令行选项
我正在尝试通过连接到RESTful API内置Flask来使用JavaScript进行授权。但是,当我提出请求时,我收到以下错误:
XMLHttpRequest 无法加载 http://myApiUrl/login。请求的资源上不存在“访问控制-允许-源”标头。因此,不允许访问原点“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);
});