jQuery ajax请求:按请求顺序调用的成功函数

问题描述:

我们有一个jQuery应用程序,其中对同一个URL的某些请求可能比其他请求要长得多。用户触发ajax帖子(通过在UI中进行更改),这些会触发获取成功请求以更新UI。当最早的获取请求需要很长时间时,后面的一个(这会更快)会延迟,直到较慢的一个在Chrome中完成,而不是IE。jQuery ajax请求:按请求顺序调用的成功函数

POST1(与success1相关),返回OK迅速
POST2(与success2相关)
success1和2是相同的功能

现在


success1 - >获取这需要很长的时间(我们想到这)
success2 - >找哪家应该快速返回(前应对success1)
(包括获取,上面是相同的URL)

我们所看到的:
在IE:2成功完成迅速,在Chrome和FF后
success1完成:success2正在举行,直到success1完成:-(

我们预计success2到success1前完成。

任何想法为什么FF和铬延迟,以及我们可能做些什么来诊断/修复?

+0

如果您需要success2完成之前success1,使请求的顺序,又名使POST2,然后当它完成使POST1 .... – 2010-08-13 12:05:45

+0

POSTs是响应用户输入,我们不知道事先了解后续的GET会长还是短。 – Glenn 2010-08-13 12:14:29

是否有机会提供遇到此问题的精确代码,客户端?我宁愿分析你的代码来确定问题并修复,而不是发明一些我自己的代码,这可能会或可能不会表现出问题。问候

+0

感谢Jim的提议 - 重新创建有点复杂,因为您需要有一个服务器端,它也模拟了一个Ajax调用得到快速响应而另一个缓慢的事实。最后,我们使用http://code.google.com/p/jquery-ajaxq/实现了一个Ajax请求队列,我们​​对这些请求进行了更细致的控制。 – hwjp 2010-09-28 10:55:25