2013-08-06 8 views
0
$('#loginbtn').click(function() { 
      var userName = document.getElementById('uid').value; 
      var password = document.getElementById('pwd').value; 

      $.ajax({ 
       type: "POST", 
       url: "/LoginNew.aspx/Authenticate", 
       data: "{ 'userName': '" + userName + "' ,'password': '" + password + "' }", 
       async: false; 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: a(), 
       error: function(e) { 
        alert(e.valueOf()); 
       } 
      }); 

     alert("test"); 
      function a() { 
       window.location.href = "Login.aspx"; 
      } 
     }); 

답변을 수락 했으므로 서버 측 코드가 사용자를 인증하고 "a"기능으로 제어를 전달하지만 login.aspx 페이지가 표시되지 않습니다 ... 어떤 단서가 있습니까?Ajax 호출이 작동하지 않습니다.

+1

통화 또는 리디렉션이 작동하지 않습니다. – Spokey

+0

인증 방법을 절대로 호출하지 않습니다. –

답변

3

당신이 생성 된 JSON이 유효

$('#loginbtn').click(function() { 
    var userName = document.getElementById('uid').value; 
    var password = document.getElementById('pwd').value; 

    $.ajax({ 
     type : "POST", 
     url : "/LoginNew.aspx/Authenticate", 
     data : { 
      userName: userName , 
      password: password 
     }, 
     async : false, // not ; need to use , 
     contentType : "application/json; charset=utf-8", 
     dataType : "json", 
     success : a, // pass the callback reference, don't invoke it 
     error : function(e) { 
      alert(e.valueOf()); 
     } 
    }); 

    alert("test"); 
    function a() { 
     window.location.href = "Login.aspx"; 
    } 
}); 
+0

그것은 일했다.. 많이 감사합니다. –

+0

"Login.aspx"로 전환되지 않습니다. –

+0

"Login.aspx"로 전환되지 않습니다. –

2

해야한다. 손으로 JSON을 생성하지 마시고 JSON 라이브러리를 사용하십시오.

JSON.stringify({ userName: userName, password: password }) 

당신은 대신 성공 핸들러로 a을 할당하는a()을 요구하고있다. 해당 반환 값 대신 함수를 할당하려면 ()을 제거하십시오.

+0

window.location.href = "Login.aspx"; 제어가 "a"기능으로 간다하더라도 작동하지 않습니다. –

관련 문제