2016-09-19 2 views
0

API에서 데이터를 가져 오기 위해 AngularJS를 사용합니다. 서비스 및 컨트롤러를 각도로 만듭니다. 서비스에서 데이터를 가져 와서 컨트롤러에서 사용합니다. 중복 된 키를 확인하기 위해 데이터 입력에 대한 유효성 검사 기능이 있으며 서비스는 입력 된 키를 서버에 보내서이를 수행합니다. 저장을 클릭하면 컨트롤러 호출에서 Validate(), Validate() 함수가 CheckExistedKey() 서비스를 호출합니다. 는 그리고 아래AngularJS 완료시 http 서비스 결과 받기

if(validate() == true){ 
    alert(''); //something to do 
} 

같은 라인과 아래

var defer = $q.defer(); 
var checkExistedKey = function (key){ 
    return $http.get('http://localhost:2807/api/Event/CheckExistedkey?key=' + key 
     ).then(function (results) { 
      defer.resolve(results.data); 
      return defer.promise(); 
     }); 
} 

같은 서비스를하지만 경고가 유효성 검사() 함수 전에 호출된다. 서비스에 $ q.defer를 넣었지만 아무 것도 변경되지 않았습니다. Pls 나를 도와주세요. 유효성 검사에서

답변

0

또한 콜백 기능을 추가 할 필요가 -

function validate(){ 
    var deferredRequest = checkExistedKey(); 
     deferredRequest.then(function (success) { 
      return true; 
     } 
} 

이 참조 - example

+0

그것은 여전히 ​​작동하지 않습니다. validate()의 결과는 정의되지 않음 –

+0

유효성 확인 함수 코드를 공유 할 수 있습니까? – Disha

+0

'function validate() { var deferRequest = EventService.checkExistedKey ($ scope.Event.eventKey); deferRequest.then (function (result) { 반품 결과, }); 당신은 내가 대답을 업데이트 한 –