当确保执行顺序时:
一、 请求加async: false,,这样所有的ajax就会同步执行,请求顺序就是代码顺序
代码部分:
$.when(
$.ajax(
{async: false,
url : url1
}
),
$.ajax(
{async: false,
url : url2
}
)).done(function(){
alert("done");
}).fail(function(){
alert("fail");
});
二、当确保异步ajax请求完成时:
代码部分:
ajax6 = $.ajax(
{
url: "/Home2/SelectyjLoginuser",
dataType: "json",
type: "post",
success: function (paraResponse) {
}
});
ajax7 = $.ajax(
{
url: "/Home2/Selectyjzh",
dataType: "json",
type: "post",
success: function (paraResponse) {
}
});
//确保(ajax6, ajax7两个请求完毕时执行
$.when(ajax6, ajax7).done(function () {
//所做操作
});
}
实例:
$('#tbcontent').find('table tbody tr').each(function () {
var m_index = $(this).index();
var cid = $(this).attr("cid");
var prolinkid = $(this).attr("prolinkid");
GetMessageStatistic(m_index, prolinkid);
})
function GetMessageStatistic(m_index, prolinkid) {
if (prolinkid && parseInt(prolinkid) > 0) {
$.ajax({
url: "/promote/getstatisticlink",
type: "POST",
async: false,//加了这个属性之后,循环会依次执行
contentType: "application/json",
data: JSON.stringify({
linkId: prolinkid
}),
success: function (result) {
if (result.IsSuccess && result.Data != null) {
}
}
});
}
}
转载自:https://blog.youkuaiyun.com/weixin_39654784/article/details/79040649