求助:AJAX同步状态下,页面跳转失效
我做了一个登陆跳转,开始拿JAVASCRIPT写的,后来用jquery又写了一遍
最开始用异步做,发现只有一部分时候能收到返回值
所以改成了同步,这下确保能收到返回值了。
但出现了新问题,就是我用window.location.href的跳转失效了,地址栏的URL不变。
开始我还以为是判断出错,但我在跳转的前一行加了个alert,居然能弹出提示框。。
这说明服务器返回正常,判断正常,但就是跳转不了。
下面是这一部分的代码:
$.ajaxSetup({
async: false
});
$.post("control.php",
{
username1:username1.value,
password1:password1.value
},
function(data,status){
if (data=="密码错误")
{alert("密码错误");}
else if(data=="用户名不存在")
{alert("用户名不存在");}
else if(data=="tongguo")
{alert("验证通过");//这个alert都能弹出来,但下一句就是跳转不了,URL也不变,单引号双引号
// 没引号都试过了。。
window.location.href='view.php';
}
else{alert("未知错误,验证失败");}
});
------解决方案--------------------看不出什么问题。。
alert("验证通过");
window.location.href='view.php';
alert('===========')/////////看能执行到这句没有
------解决方案--------------------直接window.location.href='view.php';看能跳转没,不能应该location对象被重写过了什么的
------解决方案--------------------ajax建议还是异步体验好,异步的话去掉alert语句也不会执行跳转?
------解决方案--------------------<%=basePath%> 路径前面加这个
------解决方案--------------------加个setTimeout试试
setTimeout(function(){
window.location.href = 'view.php';
},1);
------解决方案--------------------和 control 在同一个路径下吗?
------解决方案--------------------