2
我想使用ajax提交表單並隱藏按鈕並顯示消息。 我使用"async:false"
到ajax這就是爲什麼按鈕不隱藏。如果我使用"async:true"
那麼它工作。如何停止在jQuery中執行1秒
$(document).ready(function (e) {
$("#submit_form").on('submit',(function(e) {
$('#btn1').css('display','none');
$("#show1").css('display','block');
e.preventDefault(e);
var chkArray = [];
var chkArray1 = [];
$('#loading').show();
var inps = document.getElementsByName('chk_url[]');
//sleep(1000);
for (var i = 0; i <inps.length; i++) {
var inp=inps[i];
if($(inp).is(':checked')){
var site_url=$('#site_urls').val(inp.value);
$.ajax({
url: $('#site_urls').val(),
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
async:false,
success: function(data)
{
if(data=='done'){
chkArray.push($('#site_urls').val());
}else{
chkArray1.push($('#site_urls').val());
}
}
});
}
}
}));
});
是否有另一種方法來執行Ajax執行前的隱藏代碼?
我已經使用"delay(1000)"
和"sleep(1000)"
。 我不能使用"setTimeout"
函數。
的可能的複製[什麼是JavaScript的版本的睡眠()?](https://stackoverflow.com/questions/951021/what-is-the-javascript-version-of-sleep) –
使用'async:true',你的'成功'回調將無論如何,當響應到達時執行。 「async:false」的任何強烈原因?不要讓用戶生氣,等待迴應。 – yvoytovych