Ajaxが起動するたびにアニメーションがフルスクリーンで表示されます(ほとんどがユーザーのアクションです)。同時に私はsetInterval
を使ってサーバーの状態をチェックするAjaxの呼び出しもあります。条件付きでAjaxリクエストを処理する
Ajaxコールをサーバの状態を確認するには、それをフルスクリーンで表示すると迷惑になるため、どのようにして区別しますか。ステータスの横に小さな読み込みアイコンが表示されます。あなたはtrue
.ThisオプションがデフォルトですglobalがajaxStartとajaxStop.Thisなどの制御グローバルハンドラは防ぐことができます使用することができます使用することができます
$(document).ajaxStart(function() {
$.LoadingOverlay("show");
});
$(document).ajaxComplete(function() {
$.LoadingOverlay("hide");
});
$(document).ready(function() {
setInterval(ajaxCall, 3000);
function ajaxCall() {
$.ajax({
url: "action.php",
type: "POST",
data: {
'action': 'checkstatus'
},
dataType: "json",
success: function(data) {
console.log('online');
$('.serverStatus').removeClass('ssOffline');
$('.serverStatus').addClass('ssOnline').text('Online');
},
error: function(xhr, ajaxOptions, thrownError) {
console.log('offline');
$('.serverStatus').removeClass('ssOnline');
$('.serverStatus').addClass('ssOffline').text('Offline');
}
});
}
});
.ssOffline {
color: red;
}
.ssOnline {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/src/loadingoverlay.min.js"></script>
<p>Server status: <label class="serverStatus">-</label></p>
こんにちは、あなたも私のために、ステータスの横にある小さな荷重アイコンを含めることができますか?ありがとうございました。 –
@ 4LeaveCoverコードの割り当てを投稿しないでください。たとえ彼らがコメントのように見えるとしても。それは失礼です。このサイトには、jQuery Ajaxでアイコンをロードするだけの無数の例があります。いくつかの研究を行い、そのうちの1つを選んでください。 – Tomalak