错误:跨源请求块

Posted

技术标签:

【中文标题】错误:跨源请求块【英文标题】:Error: Cross origin request block 【发布时间】:2017-01-06 07:14:17 【问题描述】:

我正在尝试使用 PlanGrid API 开发 Web,但出现跨域请求阻止错误。

var apiKey="API KEY";
var password="PASSWORD";
$.ajax(
    url: "https://io.plangrid.com/projects",
    xhrFields: 
        withCredentials: true
    ,
    headers: 
        "Authorization": "Basic " + btoa(apiKey + ":" + password),
        Accept:'application/vnd.plangrid+json; version=1'
    ,
    type: 'GET',
    crossDomain: true,
    success: function (data) 
        console.log(JSON.stringify(data));
    ,
    error: function(data)
        console.log(JSON.stringify(data));
    
);

ajax 请求后,我收到错误:

“对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“http://localhost:3000”。响应包含 HTTP状态码 401。”

谁能告诉我哪里出错了。谢谢

【问题讨论】:

查看***.com/questions/8163703/… 在按照该帖子中所述进行以下更改后,它没有工作。再次出现同样的错误。谢谢你 您有权访问该网址? 是的,我愿意!我可以通过终端通过 cURL 命令访问。它给了我正确的 json 响应 尝试安装这个 chrome 扩展 chrome.google.com/webstore/detail/allow-control-allow-origi/… 如果它适用于这个扩展,那么你有权限问题 【参考方案1】:

尝试在ajax中将https改为http,看看是否有效。 匹配与您的域相同的协议,即 localhost。 您的本地主机位于 http

【讨论】:

以上是关于错误:跨源请求块的主要内容,如果未能解决你的问题,请参考以下文章

Django AJAX 错误:仅协议方案支持跨源请求

跨源请求仅支持协议方案错误反应

发出跨源请求时出现 SharedArrayBuffer 错误

Angular2,REST 服务 POST 调用错误:“跨源请求被阻止”

浏览器中的“跨源请求被阻止:同源策略”错误

错误消息“无法加载 XMLHttpRequest。 AngularJS 中的 HTTP 仅支持跨源请求