如何正确使用 HTTPget 从 angular 中的其他服务器获取 json 数据?

How to get json data from other server in angular using HTTPget correctly?

我可以访问其他服务器上的某些数据库,但我仍然无法为此获取数据 json 它显示 cors 并显示 2 个错误 XHR 加载失败:GETXMLHttpRequest 不能 load:CORS 但我确实可以更早地访问该服务器,它在发布数据时也显示了 cors,但存在一些代码错误,而不是服务器接受问题。这次获取数据也是我猜我这边的一些代码错误

{
  "emp": [
    {
      "BNK": "Rock",
      "GPIs": [
        "9233333456"
      ]
    },
    {
      "BNK": "Jack",
      "GPIs": [
        "9234343434",
        "9289989898"
        ]
    }
  ],
"status": "ok"
}



 <script>
  var countryApp = angular.module('countryApp', []);
  countryApp.controller('CountryCtrl', function ($scope, $http){
    $http.get('http://oher_server_url').success(function(data) {
      console.log(data);
      $scope.dta = data.emp;
    });
  });
</script>

  <table border=1>
                <tr>
                <th>type_BNK</th>
                <th>type_GPIs</th>
                </tr>
                <tr ng-repeat="x in dta ">
                <td>{{x.BNK}}</td>
                <td>{{x.GPIs}} </td>
  </table>

好像你没有在服务器上启用跨源资源共享所以你的网页无法访问服务器,很难确定问题是在服务器上还是在你的网站上页。

您需要检查您的 header 中是否有 Access-Control-Allow-Origin,如果没有,您应该启用它,我不知道服务器使用的是什么技术,但是有有很多不同技术的指南 here

如果 header 确实存在并接受了您的域,可能是因为您的浏览器不支持 CORS,您可以在 caniuse.

检查您使用的浏览器是否正确

此处列出的类似问题,

Cross domain XHR failing

如果要加载json数据,建议使用$http.jsonp

你也可以考虑这样写http拦截器

XHR Interceptor in an AngularJS web app