最近在測試,發現有些效果不對,最後發現是post的執行順序問題,所以研究了下,寫了以下總結
1.post被請求多次,解決方法:
連線加入隨機數rand=""+Math.random()
$.post("/Control/webControl.ashx?rand ="+Math.random(), { Method: "LoginIn", Parems: ps }, function (data, textStatus) { $("#pOver").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 同步非同步總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!