日期:2014-05-16  浏览次数:20691 次

求助: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("未知错误,验证失败");}
  });
Ajax JavaScript URL 服务器 跳转

------解决方案--------------------
看不出什么问题。。
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 在同一个路径下吗?

------解决方案--------------------