jquery 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;  
          }  
     }); 
原文地址:https://www.cnblogs.com/songjinduo/p/5362253.html