我正在尝试从服务器加载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.
答案 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)
所有这些问题,因为我只使用浏览器测试过。当在设备/模拟器上测试时,它的工作完美。无需额外的编码来克服这个问题。