ローカルマシンにある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ファイルからデータを表示する方法を教えてください?前もって感謝します。
とてもシンプルです
$http.get('phones/phones.json').then(function(response) {
$scope.phones = response.data;
});
参照: http://stackoverflow.com/questions/21589340/read-local-file-in-angularjs
「$ 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)を使用してください。
まだ行っていない場合。アプリケーションに crossdomain ポリシーを設定してみてください。