我想从我本地计算机上的JSON文件中获取数据。但我无法获得数据。它显示$ http。
的一些跨域错误这是我的代码。
angular.module('myApp',[])
.controller('myCtrl', function ($scope, webtest) {
webtest.fetch().then(function (data) {
$scope.accounttype = data;
})
});
.factory('webtest', function($q, $timeout, $http) {
var Webtest = {
fetch: function(callback) {
return $timeout(function() {
return $http.get('webtest.json')
.then(function(response) {
return response.data;
});
}, 30);
}
};
return Webtest;
});
任何人都可以帮我如何显示本地JSON文件中的数据? 在此先感谢。
答案 0 :(得分:37)
非常简单,如
$http.get('phones/phones.json').then(function(response) {
$scope.phones = response.data;
});
参见:http://stackoverflow.com/questions/21589340/read-local-file-in-angularjs
答案 1 :(得分:3)
您是否收到“$ http:未定义”的错误消息?
我尝试使用控制器,这是有效的:
var ngApp = angular.module("ngApp", []);
ngApp.controller('myController', ['$http', function($http){
var thisCtrl = this;
this.getData = function () {
this.route = 'webtest.json';
$http.get(thisCtrl.route)
.success(function(data){
console.log(data);
})
.error(function(data){
console.log("Error getting data from " + thisCtrl.route);
});
}
}]);
如果还没有,请使用Web开发人员工具(在Firefox中按Ctrl + Shift + I)。
答案 2 :(得分:2)
如果你还没有这样做的话。尝试为您的应用设置crossdomain政策。