使用jQuery中止JSONP ajax请求

前端之家收集整理的这篇文章主要介绍了使用jQuery中止JSONP ajax请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用JSONP ajax调用从其他域加载一些内容,如果用户在按钮上导致“鼠标悬停”,则所有这些内容都将被执行。

我可以捕获$ .ajax()调用return作为xhr对象,并使用它来中止每次用户导致“mouSEOver”的ajax请求。但是JSONP回调函数仍然被调用,这会导致一个错误,我认为这是一个xhr.abort()方法不阻止调用回调函数

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

有没有办法来处理这个异常?

引起的例外就是这样(根据Firebug):
jQuery16102234208755205157_1308941669256不是一个功能

异常的内部结构就是这样的:
jQuery16102234208755205157_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相关文章