0

我有以下情况:

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

我的问题是:

如果用户在加载 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(..);
}
4

1 回答 1

2

无需取消请求,只需取消成功回调即可。您可以在成功回调中检查这是否是最近的请求,如果是,则更新页面,否则等待最近的请求返回。

于 2011-08-07T11:54:59.210 回答