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

用jQuery中止JSONP ajax请求

王宏深
2023-03-14
问题内容

我正在使用JSONP ajax调用从其他域加载某些内容,并且如果用户在按钮上造成“ mouseover”,则将执行所有这些操作。

我可以将$ .ajax()调用return捕获为xhr对象,并在用户每次导致“
mouseover”时使用它中止ajax请求。但是仍然会调用JSONP回调函数,这会导致错误,并且我认为这是因为xhr.abort()方法不会阻止调用回调函数。

我尝试用try {} catch(e){}包围$ .ajax()调用,但是在调用xhr.abort()方法之后,错误继续。

有没有办法处理该异常?

引发的异常是这样的(根据Firebug): jQuery16102234208755205157_1308941669256不是函数

异常的内部结构如下:
jQuery16102234208755755205157_1308941669256({…我的json数据来自其他域....})


问题答案:

在jQuery 1.5中,所有Ajax API都在本机XHR对象周围有一个包装对象。看一眼:

http://api.jquery.com/jQuery.ajax/#jqXHR

 jqxhr.abort(); // should be what you're looking for


 类似资料:
  • 问题内容: 是否有可能使用jQuery 取消/中止尚未收到响应的Ajax请求? 问题答案: 大多数jQuery Ajax方法都返回XMLHttpRequest(或等效的)对象,因此您可以使用abort()。 请参阅文档: 中止方法 (MSDN)。取消当前的HTTP请求。 abort()(MDN)。如果请求已经发送,则此方法将中止请求。 更新: 从jQuery 1.5开始,返回的对象是名为jqXHR

  • 问题内容: 使用jQuery,如何 取消/中止 尚未收到响应 的Ajax请求 ? 问题答案: 大多数jQuery Ajax方法都返回XMLHttpRequest(或等效的)对象,因此您可以使用。 请参阅文档: abort Method (MSDN).取消当前的HTTP请求。 abort()(MDN)。如果请求已经发送,则此方法将中止请求。 var xhr = $.ajax({ type: “POS

  • 问题内容: 我有一个AJAX请求,将每5秒发送一次。但是问题出在AJAX请求之前,如果先前的请求没有完成,我必须中止该请求并提出新的请求。 我的代码是这样的,如何解决这个问题? 问题答案: jQuery ajax方法返回一个XMLHttpRequest对象。您可以使用此对象取消请求。 XMLHttpRequest具有中止方法,该方法会取消请求,但是如果请求已经发送到服务器,那么即使我们中止请求 ,

  • 问题内容: 我有一个问题,提交表单时所有活动的ajax请求均失败,并触发错误事件。 如何在不触发错误事件的情况下停止jQuery中所有活动的ajax请求? 问题答案: 每次创建ajax请求时,都可以使用变量来存储它: 然后,您可以中止请求: 您可以使用数组来跟踪所有未决的ajax请求,并在必要时中止它们。

  • 问题内容: jQuery库的功能允许您有选择地从另一个页面加载元素(服从某些规则)。我想知道是否可以 中止* 加载过程。 * 在我们的应用程序中,用户可以浏览项目列表。他们可能选择单击一个按钮,该按钮会加载并显示另一个文档中有关项目的其他信息(这可能需要一些时间)。如果他们在列表中仍选择a时选择了其他项目,那么我希望中止加载。 这可能吗?值得吗?有任何想法吗? 担 问题答案: 您不能直接执行此操作

  • 问题内容: 通过某些错误消息中止我的 API 服务的方式是什么? 链接致电我的服务: 要给我的服务打电话,客户需要发送一个Json和一些参数。 我想测试我获得的参数是否正确,否则,我想发送一条错误消息。 响应应为Json代码 我尝试过,他们停止了服务,而不仅仅是通话请求。中止通话,但阻止我发送这是我的错误消息。 我读了一些有关 恐慌,推迟,恢复的信息, 但我真的不知道如何使用它们来解决此问题。 作