我在aspx页面上写了一个ajax post请求,它会调用在其代码后面编写的web方法。这个方法返回url重定向..所有工作正常直到ajax调用成功函数但是成功函数我是重定向到另一页面。
window.location.assign(data.d)
我已经通过成功函数中的alert检查了data.d结果,该函数显示了正确的url但是它没有重定向到那个页面..Plz help ..
完整代码在这里..
这是脚本:
<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>
以下是网络方法:
[WebMethod]
public static string Authenticate(string userName, string password)
{
try
{
return "Home.aspx";
}
catch (Exception ex)
{
return string.Empty;
}
}
请注意:如果我取消注释警报(“dsf”),一切正常,它会成功重定向到Home.aspx ..但没有此警报它不会重定向。
答案 0 :(得分:0)
试试这个
success: function(data) { window.location=data.ToString(); }
答案 1 :(得分: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>