当前位置:Web前端 > jquery> 正文

jquery ajax的async使用

时间:2015-1-14类别:Web前端

jquery ajax的async使用

jquery ajax的async使用

jquery ajax的async默认值为true,这时候执行的是两个线程,ajax块发出请求后的一个线程和ajax块后面的脚本(另一个线程)。

ajax中async实例一

 

  •  
  • JScript 代码   复制
  • 
    $.ajax({   
               type:"POST",  
               url:'url',  
               dataType:"html",  
               success:function(result){   //function1()  
                  f1();  
                  f2();  
               }  
                failure:function (result) {   
                   alert('Failed');   
               },  
       }  
      function2();  
    
    		
  • 实例说明

    1、在上例中,当ajax块发出请求后,他将停留function1(),等待server端的返回,但同时(在这个等待过程中),前台会去执行function2(),也就是说,在这个时候出现两个线程,我们这里暂且说为function1() function2() 

    2、当把asyn设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),直到function1()部分执行完毕。 
     

    3、默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false

    4、注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行

     

    ajax中async实例二、

  •  
  •  
  • JScript 代码   复制
  • 
       function CheckUserName(){  
            var username = $("#username").val();  
            var result=false;  
            $.ajax({async:false  //要设置为同步的,要不CheckUserName的返回值永远为false  
                    ,url:'b.php',data:{name:username}  
                    ,success:function(data){  
                    if(data == 1){  
                        $("#warnning").html("<font color=#FF3300>Account is used.</font>");  
                        result=false;  
                    } else {  
                        $("#warnning").html("<font color=#00CC66>You can register.</font>");  
                       result=true;  
                    }  
            }});  
            return result; 
        }  
    
    				
  • 这个ajax请求则为同步请求,在没有返回值之前,return result 是不会执行的。

     

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐