2013-07-06 4 views
-3

서버에서 반환 된 메시지를 확인하여 true/false인지 확인하는 기능이 있지만 true 또는 false를 반환하지 않는 것 같습니다.Javascript 함수 true/false

// Return from server 
xhr.onload = function() { 
    var data = JSON.parse(this.responseText); 
    Ti.API.info(data); 
    if (data.success == true) { 
     Ti.API.info('Logged In'); 
     return true; 
     // If not flag an error 
    } else { 
     return false; 
     Ti.API.info('Failed Registration'); 
    }; 
}; 

이는 항상의에있을 것입니다,이 성공은 0 또는 1

{ 
    message = "Username already exists."; 
    success = 0; 
} 
+6

'false false; Ti.API.info ('Failed Registration'); - 두 번째 명령에 도달 할 수 없습니다. – mishik

+0

그리고 누구에게 값을 돌려 주겠습니까? 그것은 결국 이벤트 핸들러입니다. – zeroflagL

답변

1

기본적으로 if-else가 따라 세 번째 경로를 선택 할 수없는 것 중 하나를 서버에서 리턴 된 메시지입니다 두. 당신의 코드를 사용하지만, 내가 문제가 명령 순서로 생각, 그것은해야한다 : 그래서 하나 Logged In 또는 Failed Registration

// Return from server 
xhr.onload = function() { 
    var data = JSON.parse(this.responseText); 
    Ti.API.info(data); 
    if (data.success == true) { 
     Ti.API.info('Logged In'); 
     return true; 
     // If not flag an error 
    } else { 
     Ti.API.info('Failed Registration'); 
     return false; 
    }; 
}; 

를 호출 할 것이다. 원래 게시판에 success=0false으로 평가되었지만 return 진술서가 처음이므로 Ti.API.info('Failed Registration');이 실행되지 않았습니다.

+0

아, 건배가 잘못되었다는 것을 깨달았 어. – Tam2