2010-02-05 2 views
0

암호 유효성 검사 인 jQuery 프롬프트가 있습니다. 나는이 작업을 위해 ajax webservice를 사용한다. 지금 내 혼란은 어떻게 아약스 호출을 처리하고 함수 bool을 만들어야 하는가?ajax를 사용하여 webservice bool을 반환합니다.

나는 약 2 시간 전에 아약스와 웹 서비스를 시작 했으므로 좋았다.

 $(document).ready(function() { 
    $("#sayHelloButton").click(function() { 
      jPrompt('Password:', 'Password', 'Password', function(r) { 
       if (CheckPassword(r) == true) window.location = "http://www.asp.net"; 
       else alert('Wrong password'); 
      }); 
     }); 
    }); 


function CheckPassword(psw) { 
     $.ajax({ 
      type: "POST", 
      url: "dummywebservice.asmx/CheckPassword", 
      data: "{'" + $('#name').val() + "'}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json"    
     }); 
    } 

웹 서비스

[WebMethod] 
    public bool CheckPassword(string password) 
    { 
     if(!string.IsNullOrEmpty(password)) 
     { 
      if (password == "testpassword") 
      { 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
     else 
     { 
      return false; 
     }    
    } 

답변

0

변경과 같이 true와 false 콜백을 당신의 checkpassword를 기능 :과 같이 기능을

function CheckPassword(psw, ifTrue, ifFalse) { 
    $.ajax({ 
     type: "POST", 
     url: "dummywebservice.asmx/CheckPassword", 
     data: "{'" + $('#name').val() + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(data, textStatus, XMLHttpRequest) { 
      if (data) 
      ifTrue(); 
      else 
      ifFalse(); 
     } 
    }); 
} 

을 그리고 호출 :

$(document).ready(function() { 
    $("#sayHelloButton").click(function() { 
    jPrompt('Password:', 'Password', 'Password', function(r) { 
     CheckPassword(r, 
     function ifTrue() { 
      window.location = "http://www.asp.net"; 
     }, 
     function ifFalse() { 
      alert('Wrong password'); 
     } 
    ); 
    }); 
관련 문제