0
這很奇怪,我試圖找出原因。我的AJAX調用是爲什麼使async:false導致CSS無法呈現?
$('.edit-config').click(function() {
var that = this;
var msg;
ipt = $(this).closest('tr').find('input');
$.ajax({ url: ajaxurl,
method: 'POST',
data: { 'action' : 'config_update', 'name' : ipt.attr('name'), 'val' : ipt.attr('value') },
beforeSend: function () { $(that).addClass('updating').text("Updating ... "); },
complete: function () { $(that).removeClass('updating').text("Update"); },
success: function (submitted) {
if (submitted === 'true') { msg = "Successfully updated configuration in database"; }
else { msg = "Error when trying to update database"; }
},
error: function () { msg = "Unspecified internal error"; }
});
alert(msg);
});
我想改變它,這樣alert(msg);
不叫後$.ajax(...)
運行直到完成,因爲這就是msg
首先設置。所以我加入async: false
作爲參數,然後我注意到addClass('updating')
正在添加類,但與該類關聯的樣式沒有顯示出來,而之前做過(async
默認爲true
)。
簡短回答:不要使用'async:false'。 – dfsq
這個問題的答案總是,從來沒有永遠永遠不會使用'async:false' *** – adeneo
但我其實希望它阻止這次大聲笑 –