如何在rails中中断AJAX请求?

时间:2011-08-07 11:50:33

标签: ruby-on-rails ajax interrupt tabbed-view

我遇到以下情况:

选项卡式视图在单击选项卡上发送AJAX请求以更改视图时,每个请求从用户单击选项卡到刷新视图大约需要3-4秒(这在我的情况下是健康且可接受的!)< / p>

我的问题是:

如果用户在加载tab1时单击了tab2,则用户希望看到tab2的内容并忽略第一次单击tab1。

会发生什么,tab1的内容首先出现在tab2的内容中。我想阻止这种行为。

我的框架包含:Ruby 1.8.7 - Rails 2.3.5 - jQuery 1.5.2(用于做AJAX的事情)

我尝试使用这样的代码,但它不适用于我

function doRequest(){
  if (lastPageAjaxRequest){
    lastPageAjaxRequest.abort();
    lastPageAjaxRequest = null;
  }

  lastPageAjaxRequest = $.ajax(..);
}

1 个答案:

答案 0 :(得分:2)

取消取消成功回调,而不是取消请求。您可以在成功回调中查看是否是最近的请求,如果是,请更新页面,否则等待最近的请求返回。