我在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 ..但是如果沒有此警報,它將不會重定向。
我看到你試圖訪問'data.d'。什麼是'd'?嘗試'console.log(data);'看看它給了什麼。 –
它給出了正確的結果。我測試了它。 – user1093183
即使我硬編碼的網址那裏..它不會工作。它只有在有警報時才起作用。在這種情況下alert(「dsf」); – user1093183