【问题标题】:Cross-Origin Request Blocked: (Reason: CORS header 'Access-Control-Allow-Origin' missing)跨域请求被阻止:(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)
【发布时间】: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编写的 所以请帮帮我。 谢谢

【问题讨论】:

标签: javascript java angularjs http get


【解决方案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 请求
猜你喜欢
  • 2016-12-21
  • 1970-01-01
  • 2019-11-13
  • 1970-01-01
  • 2015-10-01
  • 2020-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多