jquery post 同步异步总结

最近在测试,发现有些效果不对,最后发现是post的执行顺序问题,所以研究了下,写了以下总结

1.post被请求多次,解决方法:

连接加入随机数 rand=""+Math.random()

$.post("/Control/webControl.ashx?rand ="+Math.random(), { Method: "LoginIn", Parems: ps }, function (data, textStatus) {
                $("#divOver").css("visibility", "hidden");
                switch (data) {
                    case "1":
                        window.location = /default.aspx;
                        break;
                    case "0":
                        $("#tips").text("找不到该用户");
                        u.focus();
                        changevcode();
                        errcount++;
                        break;
                    case "-1":
                        $("#tips").text("用户或密码错误");
                        changevcode();
                        c.val("").focus();
                        errcount++;
                        break;
                    default:
                        alert(data);
                }
            });

2.因为post默认为异步请求,可是有时候我们会发现,本来要求请求马上出现,可是异步会导致后面突然再执行,这样就出问题了

所以,我们需要加入

$.ajaxSetup({   
            async : false  
        }); 

3.如果需要有些同步有些异步,那么我们应该使用最原始的ajax请求,然后把async设置为false

$.ajax({  
         type : "post",  
          url : "register/RegisterState",  
          data : "test=" + test,  
          async : false,  
          success : function(data){  
            data = eval("(" + data + ")");  
            aDataSet = data;  
          }  
     }); 

jquery post 同步异步总结,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。