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

拦截所有ajax调用?

岳浩宕
2023-03-14
问题内容

我试图拦截所有AJAX调用,以检查AJAX响应是否包含我从PHP脚本作为JSON发送的特定错误代码(代码:ACCESS_DENIED,SYSTEM_ERROR,NOT_FOUND)。

我知道一个人可以做这样的事情:

$('.log').ajaxSuccess(function(e, xhr, settings) {
});

但是-仅在“ ajaxSuccess”事件起泡到.log div时才起作用吗?我对么?通过将“
ajaxSuccess”事件绑定到文档可以实现我想要的东西吗?

$(document).ajaxSuccess(function(e, xhr, settings) {
});

我可以在jQuery或原始JavaScript中执行此操作。


问题答案:

从http://api.jquery.com/ajaxSuccess/中:

每当Ajax请求成功完成时,jQuery都会触发ajaxSuccess事件。此时,将执行已向.ajaxSuccess()方法注册的所有处理程序

因此,选择器不会定义您要“捕获”事件的位置(坦白地说,因为ajax事件本质上并不是从DOM元素开始的),而是定义了默认处理范围(即this将poitn到/那些元件(一个或多个))。

总结-它应该正是您想要的



 类似资料:
  • 类似于Servlet.Filter)在Web中添加时.xml可以拦截任何独立于框架(Spring / CXF / Jersy等)的传入JVM /传出(作为响应),我正在尝试找到一个API,它可以拦截来自JVM的任何传出HTTP调用,以添加/修改独立于框架的标头。此外,通过代理路由请求听起来令人不知所措。 论坛上经常会误解“呼出HTTP呼叫”这个词,所以让我用例子来解释一下。 让我们假设有两个JVM

  • 问题内容: 我想要一个在中运行的应用程序来进行由代码处理的调用。 理想的方法是仅拦截呼叫(简单,只需使用)并“返回”一些数据。 但是,除了使用调用函数外,我没有找到“返回”对的响应的方法。 这对我来说不起作用,因为该应用程序是我无法控制的嵌入式应用程序。就HTML / javascript应用程序而言,它只是进行调用并接收一些数据。 有什么想法吗? 问题答案: 最后,我还是使用了问题中描述的方法。

  • 问题内容: 我似乎无法让$ httpProvider.interceptors实际进行拦截。我在JSFiddle上创建了一个示例,该示例记录了拦截器运行的时间以及$ http响应成功的时间。在成功返回响应之后,将运行请求拦截器。这似乎有些倒退。 我不能使用transformRequest,因为我需要更改配置中的参数。该部分未显示在示例中。 我正在使用AngularJS 1.1.5 http://j

  • 问题内容: 我有一个使用AngularJS和服务器端后端构建的应用程序,该后端以JSON形式传递所有请求。每个请求都包装在一个JSON容器中,该容器包含一个数据变量,该变量包含特定于该请求的数据。其他数据用于保持应用程序内的状态和控制,检查错误和成功消息以及检查会话标志。所有其他变量都随EVERY请求一起提供,并且在数据变量之前先进行检查。 现在,我有一种方法可以先检查JSON响应的内容,然后再检

  • 问题内容: 我有这个代码 有什么方法可以在没有子类化或修改类且没有工厂的情况下拦截呼叫? 编辑:抱歉忘了提到这是在Android平台上。 问题答案: 您是否考虑过面向方面的编程,甚至还考虑过AspectJ?有关AspectJ / Android的信息,请参见此处和此处。

  • 问题内容: 我正在使用Java EE 6和Jboss AS7.1,并尝试使用拦截器绑定(来自jboss网站的示例)。 我有一个InterceptorBinding注解: 拦截器: 还有一个豆: 但是拦截器没有被称为。。。 在编写此代码时将调用拦截器: 谢谢你的帮助。 问题答案: 您是否按照参考示例中的说明启用了拦截器? 缺省情况下,bean档案没有通过拦截器绑定绑定的已启用拦截器。必须通过将侦听器