2013-10-03 4 views
0

json을 생성하는 PHP에서 데이터를 가져와야하는 각도 용 서비스를 만들려고합니다. 지금 내 서비스는이PHP 파일을위한 AngularJS 서비스

fixEvents.service('contactService', function($http, $q) { 
    this.getallContact = function() { 
     var json = $q.defer(); 
     $http.get('models/contact.getall.json') 
      .success(function(data) { 
       json.resolve(data); 
      }) 
      .error(function() { 
       json.reject(); 
      }); 
     return json.promise; 
    }; 
}); 

처럼 보이는이

fixEvents.controller('contactCtrl', function($scope, contactService) { 
    $scope.title = "CONTACT"; 

    $scope.jsonContact = contactService.getallContact(); 

    $scope.showMessage = function() { 
     alert($scope.jsonContact.length); 
    } 
}); 

문제가 내 jsonContact이 어떤 결과를 얻을하지 않습니다처럼 내 컨트롤러 보인다. 그것은 정의되지 않은 것 같습니다. 내가 뭘 잘못 했니? 그런데 더 좋은 방법이 있습니까? 고마워, 대니얼!

+0

Hmm..syntax - 현명한 잘 보인다. 'success' 함수에 빠른 로그 문을 던지십시오.'data'가 정의되지 않았거나 채워져 있습니까? – tymeJV

+0

이 채워짐 –

+0

컨트롤러에서'.then' 메시지가 누락되었다고 생각하면 https://groups.google.com/forum/#!topic/angular/UP72qIRo2hI – tymeJV

답변

1

당신은 데이터 작업을 다시 컨트롤러 .then을 사용해야합니다 :

var jsonContactPromise = contactService.getallContact(); 
jsonContactPromise.then(function(data) { 
    $scope.jsonContact = data 
}, function(error) { 
    console.log("ERROR: " + error); 
}); 
+0

감사합니다. 너 정말 대단한데! 그건 그렇고 어떻게 든 오류를 사용하는 변화가 있습니까? –

+0

@ PacuraruDaniel - 그래, 오류 콜백을 포함하도록 답변을 편집했습니다. – tymeJV