如何中断 Rails 中的 AJAX 请求?
Posted
技术标签:
【中文标题】如何中断 Rails 中的 AJAX 请求?【英文标题】:How to interrupt an AJAX request in rails? 【发布时间】:2011-08-07 11:50:32 【问题描述】:我有以下情况:
选项卡式视图在单击选项卡以更改视图时发送 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(..);
【问题讨论】:
【参考方案1】:不是取消请求,而是取消成功回调。您可以在成功回调中检查这是否是最近的请求,如果是,则更新页面,否则等待最近的请求返回。
【讨论】:
以上是关于如何中断 Rails 中的 AJAX 请求?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ajax-datatables-rails 理解 Rails 中的包含