ajax 和post 可以设置它是否同步执行

ajax的async设置成false,为什么没效果

$.ajax( { async : false, type : "POST", dataType : "html", url : getURL() + "sysset/sysmonit/operation!check.action?id="+level.val(), success : function(json) { if(json==3){ alert(" 等于3就是不让过") return false; }}});alert("谁先");_
_________________________________________________________________返回的值是3,json=3,进入if, alert(" 等于3就是不让过")这个也执行了,紧接的就是return false;按常理说,他不应该弹alert("谁先");,但是他弹出了“谁先”。。。求解!!!

你在回调函数里return是没有效果的


Jquery的同步和异步请求

1 异步请求:
1.1 $.ajax
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2 同步请求
2.1 $.ajax
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : false,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2.2 $.post
$.post(
'your url',
{name:value},
function(data) {
do something...
},
'json/xml/html'
);


最近在测试,发现有些效果不对,最后发现是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;
}
});

复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值