Javascript 如何将当前ajax请求重新分配给其他请求?-jQuery/JS

Javascript 如何将当前ajax请求重新分配给其他请求?-jQuery/JS,javascript,jquery,ajax,Javascript,Jquery,Ajax,对不起,我不知道怎么把这个问题说得更好。基本上,我想要的是,如果在第一个调用完成之前触发了两个类似的ajax调用,而不是发送第二个调用,只需等待第一个调用完成并使用该结果 例如,你可以想到一个应用程序,它请求Facebook新闻提要 用户从主屏幕转到新闻提要页面 ajax从Facebook获取新闻提要内容 用户单击后退按钮,在ajax调用完成之前,该按钮会将用户带回到主屏幕 用户再次单击新闻源 ajax再次启动以获取新闻提要 同时,第一个请求返回,但不再使用,因为应用程序正在侦听第二个请求,这几

对不起,我不知道怎么把这个问题说得更好。基本上,我想要的是,如果在第一个调用完成之前触发了两个类似的ajax调用,而不是发送第二个调用,只需等待第一个调用完成并使用该结果

例如,你可以想到一个应用程序,它请求Facebook新闻提要

  • 用户从主屏幕转到新闻提要页面
  • ajax从Facebook获取新闻提要内容
  • 用户单击后退按钮,在ajax调用完成之前,该按钮会将用户带回到主屏幕
  • 用户再次单击新闻源
  • ajax再次启动以获取新闻提要
  • 同时,第一个请求返回,但不再使用,因为应用程序正在侦听第二个请求,这几乎是相同的
  • 我正在保存新闻提要内容,以便在用户下次访问该页面时显示它,同时发送ajax调用以更新内容。但在上述情况下,用户第二次访问页面时,值尚未保存,因此在第二次请求返回之前没有显示任何内容

    假设它是一个单页应用程序,所以我们不会丢失状态


    我知道这需要大量的思考。有什么想法吗?至少在理论上?

    在页面加载时设置一个全局变量=0。触发请求时-如果变量为1-取消请求。一旦检索到请求的结果并输出结果;将其设置回0。

    假设我们没有丢失状态,将ajax调用的结果存储在某个位置,并且当再次加载新闻提要时,在再次发出请求之前检查结果是否已经存在。

    当您说“单击后退按钮”时这实际上是浏览器后退按钮将他从当前页面中移除,还是页面中正在使用javascript执行操作的按钮。这很重要,因为当你离开一个页面时,你的javascript对象就消失了。@JamesMontagne:“假设它是一个单页应用程序,这样我们就不会失去状态”。不,这不是一个浏览器的后退按钮,它只是一个按钮,单击它可以加载主页视图。我已经在这样做了。但是如果在ajax调用完成时触发请求(还没有返回结果)。