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;  
          }  
     }); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM