【发布时间】:2011-09-22 06:50:04
【问题描述】:
我正在使用 JSONP ajax 调用从不同的域加载一些内容,如果用户在按钮上引起“鼠标悬停”,所有这些内容都会执行。
我可以将 $.ajax() 调用返回捕获为 xhr 对象,并在每次用户导致“鼠标悬停”时中止 ajax 请求。但是JSONP回调函数仍然被调用,这会导致错误,我认为这是因为xhr.abort()方法并没有阻止回调函数被调用。
我尝试使用 try{}catch(e){} 包围 $.ajax() 调用,但在调用 xhr.abort() 方法后,错误仍然存在。
有没有办法处理这个异常?
引发的异常是这样的(根据 Firebug): jQuery16102234208755205157_1308941669256 不是函数
而异常的内部结构是这样的: jQuery16102234208755205157_1308941669256({...我来自不同域的json数据...})
【问题讨论】:
-
我想这不是那么重复,因为这个问题是关于在 JSONP ajax 请求上调用 jqxhr.abort() 方法之后防止异常,而不是关于如何停止请求本身。
-
这个问题的答案可以在重复问题stackoverflow.com/questions/9533848/…找到
-
非常老的问题。今天偶然发现了同样的问题。我添加了我的贡献。我不知道我的答案是否值得被接受,但可以肯定的是,接受的答案不应该是当前(被否决的)答案
标签: jquery ajax callback jsonp abort