你好,我正在开发一个 PHP 项目,我需要使用 ajax 请求加载一些请求。以下是我的请求功能。
功能一:当showNotify事件被点击时,我调用ajax请求来获取内容并使用ajaxStart来显示旋转器,直到内容完全准备好!
//* First click load nofication
$(document).on('click', '#showNotify', function() {
let check = $(this).data('check');
if(check === 0) {
//* Process notification
$(this).attr('data-check', 1);
//* Load ajax request
$(document).ajaxStart(function() {
$('#notify-wait').show();
});
$(document).ajaxComplete(function() {
$('#notify-wait').hide();
$('#list-noti').show();
});
$.ajax({
url: '/list-dd-notifications',
method: 'GET',
success: function() {
$('#notif-unread').hide();
}
});
}
});
功能二:我需要从服务器端检查用户是否有新的未就绪通知并显示新的通知标志。
function checkNewFotify() {
$.ajax({
url: '/check-notifications',
method: 'GET',
success: function(data) {
if(data) {
if($('#notif-unread').is(":hidden"))
{
$('#notif-unread').show();
}
}
else
{
if($('#notif-unread').is(":visible"))
{
$('#notif-unread').hide();
}
}
}
});
}
//* check for new notification
setInterval(() => {
checkNewFotify();
}, 5000);
问题:每当 showNotify 首先下拉时,它都会向旋转器显示加载程序,直到请求完全加载,如果checkNewFotify函数正在执行的工作是每 5 秒刷新一次以检查服务器是否有新通知,则showNotify中的 ajaxStart将受到影响每次 checkNewFotify在后台刷新时显示旋转加载程序。
请问我怎样才能阻止它显示旋转加载器,同时它每 5 秒刷新一次。
紫衣仙女