如何停止并发ajax调用

时间:2010-09-11 16:59:51

标签: ruby-on-rails ajax jquery

  

可能重复:
  How to cancel a jquery.load()?

好的,所以我有一个自动完成字段,每次击键都会发出一个ajax请求....这会减慢很多事情。如果您访问here并使用

电子邮件:test@test.com 通过:test12

如果你打开了firebug并开始快速输入,你会看到所有的ajax请求。我的问题是,如果有更新的请求,我可以取消之前的请求。这是我的代码。

这是使用此plugin

的自动填充功能
$('#request_artist').autocomplete({
  serviceUrl: '<%= ajax_path("artistName") %>',
  minChars:1,
  width: 300,
  delimiter: /(,|;)\s*/,
  deferRequestBy: 0, //miliseconds
  params: { artists: 'Yes' },
});

从那里我使用

从我的rails应用程序调用ajax

从我的rails动作中我打电话给itunes api

http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?term=metalicca

真的我的问题是,有没有办法判断一个ajax是否正在运行并杀死它

1 个答案:

答案 0 :(得分:3)

您可以尝试使用AJAX Queue/Cache/Abort/Block Manager,这是我遇到类似问题时使用的内容。使用abortOld选项时,插件会在对较新请求的响应进入时中止旧请求。