杀死JQuery AJAX重叠请求

Asi*_*sif 4 javascript jquery xmlhttprequest

是否有可能杀死以前的ajax请求?

我们的表格数据彼此非常相邻.在每个数据的鼠标悬停事件中,我们使用JQuery Ajax对象向我们的服务器发出请求并在弹出窗口中显示.

但是,我们经常将鼠标移动到其他表格内容,之前的Ajax响应显示在弹出窗口内,之后显示的是确切的响应,这是针对该表格内容的.

我需要在生成新的Ajax请求时,应该终止先前的请求/响应,以便始终在弹出窗口中提供最新的响应.

我正在使用JQuery,PHP和Mysql来处理请求.

Pri*_*ank 5

你能创建一个自定义Javascript Sync对象,该对象将由后续ajax调用的函数共享吗?将顺序生成的id作为参数分配给进入的请求调用.在响应中包含相同的id.在触发每个请求时,分配一个新的id,递增1或任何逻辑.如果响应中的当前id与共享对象中的id不同; 忽略响应,否则呈现响应.

这将彻底解决竞争条件.我不确定自己是否有过早杀死请求的方法,但至少不会造成你现在面临的渲染问题.