ajax 同步ajax已经采用了同步模式,接受到数据后才能继续往下执行
function aaa() {
$.ajax(
{
url:"includes/checkusername.php",
data:"username="+$("input[name=username]").val(),
async:false,
success:function(result){
        
alert(1);
        return false;
}
})};
aaa();
alert("bbb");  **************************************************可是alert("bbb");还是执行了
函数里面明明设置了return false啊然后我测试了一下时间 发现 aaa()里面的alert()响应的时间和 下面代码执行的alert("bbb")是一样 我用的是 getTime();
ajax

解决方案 »

  1.   

    要想用这个同步就只能把下边的执行代码放到调用Ajax方法以外的位置,再Ajax回调里调用其他方法看LZ的Ajax和其他方法在同一方法里,肯定达不到同步效果
      

  2.   

    那个return false;有什么意义?
      

  3.   

    function aaa() {
    $.ajax(
    {
    url:"includes/checkusername.php",
    data:"username="+$("input[name=username]").val(),
    async:false,
    success:function(result){
            
    alert(1);
      //      return false;alert(bbb);
    }
    })};楼主,把alert(bbb);放到成功方法里面,当数据返回成功后再调用alert(bbb),即可
      

  4.   

    你的代码没有问题,执行aaa()的时候同步请求,后台没问题的话,肯定是先alert(1),再alert('bbb'); 页面效果一定是alert('bbb')的警告框在外面(也就是后弹出的).  止于你说的return false; 对你的代码执行没有影响,这个return false,只是success的返回值,没有被使用过,对ajax调用也没有影响.  你的那个getTime() 一样的话只是值一样,顺序其实不一样,可能是精确问题吧,java常见这种情况
      

  5.   

    谢谢各位,确实疏忽了,我以为 return false后 就会停止了,没注意到是在函数里面