当前位置: 首页 > 面试题库 >

为请求禁用一些jQuery全局Ajax事件处理程序

荣轶
2023-03-14
问题内容

假设我定义了一些全局Ajax事件处理程序(ajaxStart,ajaxStop和ajaxError)。通常,我对此表示满意,但对于一个请求,我想禁用ajaxError处理程序,但仍照常运行ajaxStart和ajaxStop处理程序。在jQuery的AJAX功能的文件中提到,可以设置为false,并传递到$就功能禁用所有全局AJAX事件处理程序的“全球性”的参数,但他们没有提及任何办法只能禁用一些全球处理器。

我可以通过对传递给ajaxError函数的ajaxSettings对象的“
url”属性进行测试,来防止ajaxError处理程序,但这似乎有些笨拙。这里是否有人知道一种禁用ajaxError函数运行的方法,这种方法对于查看$
.ajax函数调用位置的人来说是显而易见的?

如果有人想看它,我可以提供一个简单的例子。


问题答案:

这是可能的,而且并不难。

您只需要设置全局错误处理程序(.ajaxError)即可接收jQuery可以提供给它的一些参数:

$("div.log").ajaxError(function(evt, xhr, settings) {
    if(settings.suppressErrors) {
        return;
    }

    // Normal processing
});

此后,您可以将所添加suppressErrors: true的任何AJAX请求添加到设置中,如果失败,则错误处理程序将返回而不执行通常的操作。

看到它在行动



 类似资料:
  • 问题内容: 我已经制作了一个简单的聊天应用程序,它使用jquery使用长轮询方法, 这应该发生:页面加载后,发生对listen.php的无限请求,并且当用户发送消息时,代码通过send.php将消息发送到数据库。 问题是,使用萤火虫,我发现在listen.php请求之后执行的send.php请求仍然悬而未决。表示发送消息的请求仍处于待处理状态。 问题答案: 问题是由于 会话锁定 ; 和文件两者都使

  • 问题内容: 我有以下代码,旨在在用户关闭聊天窗口时记录事件: “ Hi”和“ Success”消息都警报良好,但是AJAX回调中的警报没有…我打算通过AJAX请求触发的操作也没有发生(我正在开发聊天应用程序,并且打算当用户关闭窗口时在数据库中记录一个条目)。 问题答案: 由于ajax是异步的,因此在正确发送响应之前将卸载页面,从而有效地终止连接。尝试设置,尽管这会延迟卸载页面,直到接收到响应之后,

  • 问题内容: 我正在制作一个Java Servlet页面,该页面检查域名列表,并通过jquery ajax请求检查每个名称。它的工作正常,除非结果被无序附加到DOM。什么是按请求的顺序处理请求的最佳方法,但是又像长时间轮询一样异步进行。我是javascript新手。 这是我用于请求的代码: 我当时正在考虑向Java Servlet发送一个序列号,该序列号将通过JSON返回,但是我想知道是否有更简单的

  • 本文向大家介绍封装了jQuery的Ajax请求全局配置,包括了封装了jQuery的Ajax请求全局配置的使用技巧和注意事项,需要的朋友参考一下 摘要:   jQuery已经成为项目中最常见的js库,也是前端开发最喜欢使用的库。下面是在项目中封装了jQuery的Ajax,分享给大家。 代码: 小结:   在执行Ajax请求时只需要调用ajaxSettings函数即可,如下: 以上所述就是本文的全部内

  • 问题内容: 当我的网站是100%jQuery时,我曾经这样做: 为401错误设置全局处理程序。现在,我将angularjs与和一起使用,以向服务器发送(REST)请求。有什么办法可以类似地用角度设置全局错误处理程序吗? 问题答案: 我还在建立一个带有angular的网站,并且遇到了同样的障碍来处理全局401。当我遇到此博客文章时,我最终使用了HTTP拦截器。也许您会发现它和我一样有用。 “基于An

  • 本文向大家介绍如何处理jQuery AJAX成功事件?,包括了如何处理jQuery AJAX成功事件?的使用技巧和注意事项,需要的朋友参考一下 要处理jQuery AJAX成功事件,请使用方法。只要AJAX请求成功完成,ajaxSuccess(callback)方法就会附加一个要执行的函数。这是一个Ajax事件。 这是此方法使用的所有参数的描述- callback- 要执行的功能。事件对象,XML