$.ajax({...});异步请求问题

时间:2022-07-05 13:48:39

$.ajax({...});请求过程中发现的问题。。。先记录后剖析;

jsp中第一次ajax请求成功后,在success后添加如下代码:

success : function(data) {
if (data == "1") {
alert("数据在操作中,请稍候!");
} else {
$("#refundListForm").attr("action","/。。。/lockData?lockedOrderIds="+lockedOrderIds+"&lockComments="+lockComments);
$("#refundListForm").submit();
window.setTimeout(show,10000); //5秒
$("#refundListForm").attr("action","");
alert("锁单成功");
redirectUrl('refundListForm','/。。。/orderList','3');
}
},

其中redirectUrl()也是一个请求,这样的结果是,可能第一个请求没执行,直接执行后面的请求;

改成下列形式:上个请求成功后,在执行最后一个请求

success : function(data) {
if (data == "1") {
alert("订单正在操作中,请稍候!");
} else {
$.ajax({
type : 'post',
url : "/。。。/lockData",
data : {
"lockedOrderIds":lockedOrderIds,"lockComments":lockComments
},
async : false,
success : function(data) {
if (data == "1") {
alert("锁定失败");
} else {
alert("锁单成功");
redirectUrl('refundListForm','/。。。/orderList','3');
}
},
error : function(data) {
return false;
}
});
}
},