怎么让两个ajax依次执行,AJAX请求如何依次执行。
產品要寫一個類似檢測的東西
有四塊內容檢測,要發四個AJAX。
我想到的$,when
但是用這個的話,后面三個done時間是立馬執行的。
我就寫了一個settimeout
但是里面有一個依次打對號的我就寫了一個setInterval
但是這個時間老是對不上。
發現寫法很有問題 有沒有什么好點的寫法 或者指出我的錯誤。
$('.txturl button').click(function() {
var count = 0
$.when($.ajax({
type: "get",
url: "http://www.webossgoo3.com/google/CheckContent",
async: true,
success: function(data) {
var pardata = JSON.parse(data)
$('.gdt').addClass('layui-anim layui-anim-rotate layui-anim-loop');
$('.coun-jc').hide();
$('.txt-bet li').removeClass('active')
$('.txtnum section span.load-jc').css('display', 'table-cell');
if(pardata.title) {
$('.cont2 i').html('?')
$('.cont2 i').css('color', 'red')
for(j in pardata.title) {
$('.contentul ul').eq(0).append(
"
" + j + ":" + pardata.title[j] + "")
}
};
for(k in pardata.keywords) {
$('.contentul ul').eq(1).append(
"
" + k + ":" + pardata.keywords[k] + "")
}
if(!pardata.original) {
$('.cont1 i').html('?');
$('.cont1 i').css('color', 'red')
}
var i = 0;
setInterval(function() {
if(i <= $('.basetxt table i').size() - 1 ) {
$('.basetxt table i').eq(i).show()
i++
} else {
$('.txt-bet li').eq(0).addClass('active')
return false
}
}, 500)
},
error: function() {
layer.msg('檢測失敗1')
}
})).done(function() {
setTimeout(function () {
$.ajax({
type: "get",
url: "http://www.webossgoo3.com/google/checkSearch",
async: true,
success: function(data) {
var pardata = JSON.parse(data)
if (pardata.google) {
$('.cont3 i').html('?')
$('.cont3 i').css('color', 'red')
}
if (pardata.bing) {
$('.cont4 i').html('?')
$('.cont4 i').css('color', 'red')
}
if (pardata.yahoo) {
$('.cont5 i').html('?')
$('.cont5 i').css('color', 'red')
}
if (pardata.title_top1) {
$('.cont6 i').html('?')
$('.cont7 i').css('color', 'red')
}
var a = 0;
setInterval(function() {
if(a <= $('.seartxt table i').length - 1) {
$('.seartxt table i').eq(a).show()
a++
} else {
$('.txt-bet li').eq(1).addClass('active')
return false
}
}, 500)
},
error: function() {
layer.msg('檢測失敗2')
}
})
})
}).done(function() {
setTimeout(function () {
$.ajax({
type: "get",
url: "http://www.webossgoo3.com/google/CheckSearch",
async: true,
success: function(data) {
var pardata = JSON.parse(data)
var i = 0;
setInterval(function() {
if(i <= $('.seotxt table i').length - 1) {
$('.seotxt table i').eq(i).show()
i++
} else {
$('.txt-bet li').eq(2).addClass('active')
return false
}
}, 500)
},
error: function() {
layer.msg('檢測失敗3')
}
})
},500 * ($('.seartxt table i').length) )
}).done(function() {
setTimeout(function () {
$.ajax({
type: "get",
url: "http://www.webossgoo3.com/google/CheckContent",
async: true,
success: function(data) {
var pardata = JSON.parse(data)
var i = 0;
setInterval(function() {
if(i <= $('.basetxt table i').length - 1) {
$('.opttxt table i').eq(i).show()
i++
} else {
$('.txt-bet li').eq(3).addClass('active')
$('.gdt').removeClass('layui-anim layui-anim-rotate layui-anim-loop');
$('.coun-jc').show()
$('.coun-jc').text('88')
$('.txtnum section span.load-jc').css('display', 'none');
return false
}
}, 500)
},
error: function() {
layer.msg('檢測失敗4')
}
})
},500 * ($('.seotxt table i').length) + 500 * ($('.seartxt table i').length) )
})
})
總結
以上是生活随笔為你收集整理的怎么让两个ajax依次执行,AJAX请求如何依次执行。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java UTD对点发送信息_Java微
- 下一篇: QCustomPlot使用手册(二)