跨域请求被阻止:(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)

Posted

技术标签:

【中文标题】跨域请求被阻止:(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)【英文标题】:Cross-Origin Request Blocked: (Reason: CORS header 'Access-Control-Allow-Origin' missing) 【发布时间】:2016-04-02 06:02:54 【问题描述】:

我在 Angularjs 中遇到错误

跨域请求被阻止:同源策略不允许读取位于https://.../ 的远程资源...(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。

下面是我的代码:

     $http(
              method: 'GET',
              url:"https://logis../oms/rest/TMS/../listTenders/1.0",

              headers:  'Authorization': 'Basic Q2FycmllckFUcmFuc01ncjpwYXNzd29yZA=='
            ).success(function (response) 
                console.log("response--"+response);
              resolve(response);
            ).error(function (error) 
                console.log("error123--"+error)
              reject(error);
            );

我在 AngularJs 中使用 GET 请求并出现上述错误。 如果客户端缺少任何东西,任何人都可以帮助我吗 或服务器端有任何剩余 服务器端是用Java编写的 所以请帮帮我。 谢谢

【问题讨论】:

也许这是我的老问题会帮助你:***.com/questions/21455045/… 【参考方案1】:

我遇到了同样的错误。尝试从您的服务器端语言(php 或 NOde)调用 url... 如果你使用客户端语言(角度或普通 AJAX)来调用它,你总是会得到 CORS 错误。

【讨论】:

如果我在 chrome 中使用 POSTMAN 工具,那么我会得到响应 在您可以控制收到的请求响应之前,无法在客户端解决 CORS。 因此,如果您向其发出请求的服务器已解除 CORS 阻塞,您将不会收到错误消息。但如果不是,你总是会得到一个错误 JSONP 仅在您使用 JSONP 格式时才有效。响应在 JSONP 中并不总是正确的 表示如果在服务器端正确设置了 CORS,那么我将不会收到错误 Access-Control-Allow-Origin: * 如果在服务器端设置了上述标头,那么我不会收到错误?【参考方案2】:

有两种方法可以发出跨域请求。 1)您的服务器配置为允许此类请求 2) 使用 jquery/javascript 中的 JSONP,更详细的例子见以下链接:https://learn.jquery.com/ajax/working-with-jsonp/

【讨论】:

你能帮我为我在上面提出的 GET 请求编写 jsonp 语法吗,因为我试过了,但我无法将 JSONP 用于我的 GET 请求

以上是关于跨域请求被阻止:(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)的主要内容,如果未能解决你的问题,请参考以下文章

跨域请求被阻止:同源策略不允许读取远程资源,CORS 标头中缺少令牌“缓存控制”

跨域请求被阻止:CORS 标头“Access-Control-Allow-Origin”缺失

原因:缺少 CORS 标头“Access-Control-Allow-Origin”

跨域请求被阻止 Symfony/AngularJS

CORS 标头“Access-Control-Allow-Origin”缺少 Laravel 5.4

跨域请求被阻止:CORS 标头“Access-Control-Allow-Origin”缺失