2

在创建和执行 ajax 请求队列时$.manageAjax,我调用ajaxManager.abort();, 以因错误而中止整个队列,此时我收到一条错误消息:q[num] has no properties (jquery.ajaxmanager.js line 75)

这是调用代码:

var ajaxManager = $.manageAjax({manageType:'sync', maxReq:0});
// setup code calling ajaxManager.add(...)

// in success callback of first request
ajaxManager.abort(); <-- causes error in jquery.ajaxManager.js

队列中有 4 个请求,在第一个请求成功时调用它,如果满足某些条件,则需要中止队列。

有任何想法吗?

4

1 回答 1

1

看起来您在 q 中的项目比您开始迭代时的预期要少。您的脚本可能正在尝试访问 q[q.length],即最后一个元素之后的元素。

会不会是您的成功请求已从队列中弹出,并且您有竞争条件?您是否正在尝试中止已经完成其生命周期的请求?或者,您是否像人们有时那样犯了一个愚蠢的错误,并且让您的循环终止条件错误?

只是一些想法,我希望他们有所帮助。

于 2008-08-28T06:46:26.397 回答