2015-11-17 22 views
14

Yerel makinemdeki JSON dosyasından veri almak istiyorum. Ama verileri alamıyorum. $ Http için bazı çapraz etki alanı hatası gösteriyor.Yerel JSON FIle veri kümesinden angularjs içinde Fetchin verileri

İşte kodum.

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;}); 

Yerel JSON dosyasındaki verileri nasıl görüntüleyeceğimi lütfen bana yardım edin? Önceden teşekkürler. Daha önce yapmadıysanız,

+0

bir fiddle ekleyebilir] – Shreyas

+0

Ayrıca bize belirli bir hatayı gösterebilir misiniz? – xeon48

cevap

24

angularjs < başarı ve başarısızlık çağrı arka vererek 1,6

Dene:

$http.get('someFile.json') 
     .success(function(data) { 
      angular.extend(_this, data); 
      defer.resolve(); 
     }) 
     .error(function() { 
      defer.reject('could not find someFile.json'); 
     }); 

angularjs> 1,6

$http.get('someFile.json'). 
    then(function onSuccess(response) { 
    angular.extend(_this, data); 
    defer.resolve(); 
    }). 
    catch(function onError(response) { 
    console.log(response); 
    }); 

bakın: Read local file in AngularJS

+3

.success, kullanımdan kaldırılmıştır. Kullanın. Yerine yerine;) – LOTUSMS

1

. Uygulamanız için bir crossdomain ilkesini ayarlamayı deneyin.

2

"$ http: tanımlı değil" gibi bir hata mesajınız yok mu?

Bunu çalışıyor, bir denetleyici ile çalıştı:

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); 
    }); 
    } 
}]); 

sende olmayan, kullanım web geliştirici araçları (içinde ateş Ctrl + Shift + I) ise.

+1

Bu hatayı alıyorum -> XMLHttpRequest dosya yükleyemiyor: /// C: /Users/Handson/webtest.json. Çapraz menşe talepleri yalnızca protokol şemaları için desteklenir: http, veri, krom, krom uzantısı, https, krom uzantısı-kaynak – Amit

+0

Sanırım yerel dosyalara erişme hakkınız olmadığı için (güvenlik nedeni). Bu tür hataları önlemek için yerel bir web sunucusunu (apache gibi) kullanmalısınız. – Pico12