我試圖在等待ajax調用完成時顯示加載div。我已經嘗試了幾種方法,但似乎無法一直工作。在jQuery ajax調用期間顯示加載div
與我目前的代碼,它的工作原理,如果我有一個斷點的功能,一旦ajax完成顯示div。
var https = 'https://www.googleapis.com/calendar/v3/calendars/';
function HideCheckShowLoading(checkId) {
$("#check_" + checkId).hide('slow', function() {
$("#loading_" + checkId).show('slow');
});
};
function HideLoadingShowCheck(checkId) {
$("#loading_" + checkId).finish().hide('slow', function() {
$("#check_" + checkId).finish().show('slow');
});
};
$(document).ready(function() {
$('#get').click(function() {
HideCheckShowLoading(1);
$.ajax({
url: https,
dataType: 'jsonp',
type: "GET",
success: function(response) {
//do something
},
error: function() {
//do something else
}
}).done(function() {
HideLoadingShowCheck(1)
});
});
$('#get2').click(function() {
HideLoadingShowCheck(1);
});
});
#check_1
{
background-color:red;
}
#loading_1
{
background-color:blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="check_1">Check</div>
<div hidden id="loading_1">LOADING</div>
<button id="get">Get</button>
<button id="get2">Get2</button>
我想什麼發生的是,
- 上的一個按鈕,我們隱藏檢查div的點擊
- 我們展示了裝載div
- 使Ajax調用
- 如果成功做一些事情(刷新檢查div的內容)
- 隱藏加載DIV
- 顯示檢查DIV
至於說我已經嘗試了一些方法,我已經找到,但我多次得到堅持表示只裝載DIV
感謝
關閉,只是改變'.done(HideLoadingShowCheck());''來.done(HideLoadingShowCheck);'(不額外的'()' ) –
看看'beforeSend' – epascarello