为了账号安全,请及时绑定邮箱和手机立即绑定

在单个页面中使用多个 jquery ajax 请求的问题

在单个页面中使用多个 jquery ajax 请求的问题

PHP
撒科打诨 2024-01-19 10:01:05
你好,我正在开发一个 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 notificationsetInterval(() => {    checkNewFotify();}, 5000);问题:每当 showNotify 首先下拉时,它都会向旋转器显示加载程序,直到请求完全加载,如果checkNewFotify函数正在执行的工作是每 5 秒刷新一次以检查服务器是否有新通知,则showNotify中的 ajaxStart将受到影响每次 checkNewFotify在后台刷新时显示旋转加载程序。请问我怎样才能阻止它显示旋转加载器,同时它每 5 秒刷新一次。
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

将 ajax 上的全局选项设置为 falsecheckNewFotify()将阻止像 ajaxStart 这样的处理程序触发。


$.ajax({

    url: '/check-notifications',

    method: 'GET',

    global: false,

});


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信