我對做一個Ajax調用此代碼:切換裝載機Ajax調用
$.post($form.attr('action'), $form.serialize(), 'json').done(function (data, textStatus, jqXHR) {
// Some logic here for done callback
// Redirect to another URL after 5 seconds
window.setTimeout(function() {
window.location = data.redirect_to;
}, 5000);
}).fail(function() {
// Some logic here for fail callback
})
該代碼工作正常。現在我需要給這個Ajax調用附加一個「loader」。我知道我可以在jQuery 1.8+文檔暴露的重視這$(document)
(也發現了同樣的this話題),所以我也做了以下內容:
$(function() {
// a bunch of logic here
}).ajaxStart(function() {
$('#loaderModal').modal('show');
$('#loaderModal').on('show.bs.modal', function (e) {
$('#loaderDiv').loader();
})
}).ajaxStop(function() {
$('#loaderModal').modal('hide');
$('#loaderModal').on('hidden.bs.modal', function (e) {
$('#loaderDiv').loader('destroy');
})
});
並再次要求工作,但碰巧我有其他Ajax在頁面上調用(用於某些字段的驗證),每次運行時,加載器都顯示不正確,因爲我只需要附加上面顯示的代碼(第一段代碼)。我怎麼能做到這一點?
作爲第二部分,一個與此相關的帖子,一些關於done
和fail
回調的邏輯觸發Bootstrap Growl消息,正如你一定注意到了我使用其中程序包含了Twitter的引導模態分量,所以我擔心在調用done
的回調時,第二次調用以某種方式運行加載程序塊的調用是甚至可能的?這些事件的執行速度有多快?
PS:如果你任何有更好的解決這個然後說,並提前
好了裝載機,你分享,你會做到這一點,但如何以及在哪裏我應該調用這兩個函數? – ReynierPM 2014-10-08 02:02:40
對不起,我不能幫你實現這一點,我不得不去。我很高興@阿倫P Johny向你展示。 – EternalHour 2014-10-08 09:34:55