2017-10-25 1 views
-1

내 코드가 내 AJAX 함수에서 return 문을 가져야하는지 궁금합니다. 여기에 예가 있습니다 :JQuery Ajax 함수에서 true/false를 반환해야합니까?

$.ajax({ 
    type: 'POST', 
    url: 'Application.cfc?method=runProcess', 
    data: {'userID':userID}, 
    dataType: 'json' 
}).done(function(obj){ 
    if(obj.STATUS == 200){ 
     $('#searchMsg').addClass("success").show().text(obj.MESSAGE).delay(3500).fadeOut('slow').queue(function(){ 
      $(this).removeClass("success").dequeue(); 
     }); 
     return true; //Should I keep this 
    }else{ 
     $('#searchMsg').addClass("error").show().text(obj.MESSAGE).delay(3500).fadeOut('slow').queue(function(){ 
      $(this).removeClass("error").dequeue(); 
     }); 
     return false; //Should I keep this 
    } 
}).fail(function(jqXHR, textStatus, errorThrown){ 
    alert(errorThrown); 
}); 

본인은 본인의 기능에 두 개의 return 문이 있음을 알 수 있습니다. 둘 다 true 또는 false를 반환합니다. ajax return obj에 따라 다릅니다. 나는 그들을 내 기능에 두어야 하는가 그렇지 않은가? 그것들을 갖는 것의 이점은 무엇이며 죄수는 무엇입니까? 누구든지 설명 할 수 있으면 알려주세요. 고맙습니다!

+1

당신은 그 (것)들의 찬부 양론이 무엇인지 저희에게 말해 줄 수 있습니까? 응용 프로그램에서 어떻게 사용되는지 알 수 있습니다. – Taplar

+0

@Taplar 필자는 필자의 기능에 필자를 필요로하지 않지만 필자는 필자가 사용하는 많은 예제를 본다. 그래서 나는 그 (것)들이 가지고 있건 없건간에 찬부 양론이 무엇인지 이해하고 싶다. 고맙습니다. –

+0

필요하지 않은 경우 제거하십시오. 나중에 필요할 경우 추가하십시오. 비록 아약스가 비동기 적이기 때문에 어떻게 사용하고 싶습니까? – Taplar

답변

0

아니요. 그들은 당신을 위해 아무것도하지 않습니다. 당신은 이미 AJAX 호출이 당신의 콜백 함수에서 if/then의 어느 부분에 의해 성공했는지 실패했는지 알 수 있습니다.

이러한 모든 명령문은 호출자가 원하는대로 사용할 수있는 호출자에게 값을 보내고 프로그래밍 방식의 실행을 중지합니다. 호출자는 done 메서드 호출이며 반환 값이 필요하지 않으며 함수에서 마지막으로 처리 할 명령문이 있으므로 실행이 중지됩니다.

1

ajax 호출을 보내서 무언가를 확인하고 서버가 존재하면 true 또는 false를 반환합니다. 그렇지 않으면 true를 반환합니다. 예를 들어, 로그인 할 때 ma 사용자 이름과 암호가 데이터베이스에 있으면 true를 반환합니다. 아약스가 true를 반환하는지 확인합니다. 사용자가 시스템에 로그인 함을 의미합니다. 거짓은 사용자가 존재하지 않지만 참이 필요 없다는 것을 의미합니다. 거짓이면 새 링크를 열어야합니다. 그렇지 않으면 오류가 존재하지 않습니다. 원하는 시나리오에 따라 다르지만 반환 할 필요가 없습니다. true false 해당 사항 없음 코드 예

$.ajax({ 
     url: geturl, 
     type: "POST", 
     data:{email:email,pass:pass}, 
     success: function (res) { 
      if (res == "admintrue") 
      { 
       AutoLoader("Admin Login Succeffully", "success"); 
       var URL = $("#Afetlogin").val(); 
       window.location.href = URL; 
      } else if (res == "membertrue") { 
       AutoLoader("Member Login Succeffully", "success"); 
       var URL = $("#memberlogin").val(); 
       window.location.href = URL; 
      } 

      else { 
       AutoLoader("Error", "error"); 
      } 
     } 
    }) 
관련 문제