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