Angularjs从服务器加载外部jsonfile时出错

时间:2014-09-03 04:51:56

标签: javascript json angularjs ionic-framework

我正在尝试从服务器加载json文件。这是我的services.js文件

angular.module('starter.services', [])

/**
 * A simple example service that returns some data.
 */
.factory('Friends', function($http) {

  var friends;
 //here is the code for server access
  $http.get('http://wwww.root5solutions.com/ionictest/get.json').then(function(msg){
      console.log("console output"+msg.data);
      friends=msg.data;
      console.log("from server"+friends.data);
  });

  return {
    all: function() {
      return friends;
    },
    get: function(friendId) {

      return friends[friendId];
    }
  }
});

但它没有正常工作。这是我的控制台消息

XMLHttpRequest cannot load http://www.root5solutions.com/ionictest/get.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access. 

3 个答案:

答案 0 :(得分:0)

您必须将该网址列入白名单

试试这个

.config(function($sceDelegateProvider) {

    $sceDelegateProvider.resourceUrlWhitelist([
        // Allow same origin resource loads.
        'self',
        // Allow loading from our other assets domain.  Note there is a difference between * and **.
        'http://wwww.root5solutions.com/ionictest/**',
    ]);
})

答案 1 :(得分:0)

我也面临同样的问题。我相信它会解决您的问题,

  

对于Windows ...在桌面上创建Chrome快捷方式>右clic>属性>捷径>编辑"目标"路径:> " C:\ Program Files \ Google \ Chrome \ Application \ chrome.exe" --args --disable-web-security

注意: 从Chrome设置此退出后再打开


答案 2 :(得分:0)

所有这些问题,因为我只使用浏览器测试过。当在设备/模拟器上测试时,它的工作完美。无需额外的编码来克服这个问题。