2013-08-12 38 views
1

我在aspx頁面上寫了一個ajax post請求,它會調用寫在其代碼後面的web方法。此方法返回url以重定向。所有工作都很好,直到成功的ajax調用,但在成功函數我重定向到另一頁前。重定向到另一個頁面在ajax調用中不起作用

window.location.assign(data.d) 

我已經通過在成功的功能警報被顯示正確的URL,但它不是rediecting到page..Plz幫助檢查data.d結果..

的完整代碼在這裏..

這是腳本:

<script type="text/javascript"> 
     jQuery(document).ready(function() { 
      $('#loginbtn').click(function() { 
       var userName = document.getElementById('uid').value; 
       var password = document.getElementById('pwd').value; 
       $.ajax({ 
        type: "POST", 
        url: "testAjax.aspx/Authenticate", 
        data: JSON.stringify({ userName: userName, password: password }), 
        async: false, 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function(data) { window.location.assign(data.d); }, 
        error: function(e) { 
         alert(e.valueOf()); 
        } 
       }); 
       //alert("dsf"); 
      }); 

     }); 
    </script> 

和以下是Web方法:

[WebMethod] 
     public static string Authenticate(string userName, string password) 
     { 
      try 
      { 
       return "Home.aspx"; 
      } 
      catch (Exception ex) 
      { 
       return string.Empty; 
      } 

     } 

請注意:如果我取消註釋警報(「dsf」),所有工作正常,它會成功重定向到Home.aspx ..但是如果沒有此警報,它將不會重定向。

+0

我看到你試圖訪問'data.d'。什麼是'd'?嘗試'console.log(data);'看看它給了什麼。 –

+0

它給出了正確的結果。我測試了它。 – user1093183

+0

即使我硬編碼的網址那裏..它不會工作。它只有在有警報時才起作用。在這種情況下alert(「dsf」); – user1093183

回答

0

試試這個

success: function(data) { window.location=data.ToString(); } 
0

試試這個

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     $('#loginbtn').click(function() { 
      var userName = document.getElementById('uid').value; 
      var password = document.getElementById('pwd').value; 
      $.ajax({ 
       type: "POST", 
       url: "testAjax.aspx/Authenticate", 
       data: JSON.stringify({ userName: userName, password: password }), 
       async: false, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(data) { window.location=data.d; }, 
       error: function(e) { 
        alert(e.valueOf()); 
       } 
      }); 
      //alert("dsf"); 
     }); 

    }); 
</script> 
相關問題