通过AJAX更新多个DIV是不一致的

时间:2009-09-08 08:11:03

标签: jquery asp.net-mvc ajax

我有一个包含三个DIV的ASP.NET页面,每个DIV最初都是通过部分页面包含显示的 - 这样可以正常工作。

每个DIV都包含一个条目网格,可以通过特定列进行分页或排序。这些更新是通过AJAX请求完成的,这也很好。

在执行与页面的主要交互时出现问题,即将一个列表中的项目与另一个列表中的项目相关联。第一个DIV包含一个航班列表,第二个DIV包含与航班相关联的人员列表(以及对哪个航班的参考),第三个DIV包含与任何航班都没有关联的人员列表。 使用各种ui元素,我可以执行诸如......之类的操作。

  1. 添加航班
  2. 将某人分配到航班
  3. 从航班中删除某人
  4. 将某人移至不同的航班
  5. 删除航班
  6. 这些操作中的每一个对一个或多个列表都有不同的影响,因此,完成后,我只需调用更新每个DIV所需的AJAX请求。

    有时,一个或多个DIV不会更新,有时浏览器会永远旋转(即使我可以导航到其他页面),如果它遇到另一个AJAX请求,则会挂起。

    这个调用序列是一个接一个地完成的,在继续下一个之前没有机制等待前一个调用完成,所以我怀疑有某种排队/阻塞正在进行。在调查了SO的其他主题后,我发现问题的引用是由于AJAX请求被无序处理引起的,但是我很确定这不适用于这种情况,因为通常情况下,哪个顺序无关紧要DIV已更新。

    我知道浏览器对可以同时处于活动状态的并发XMLHttpRequests数量有限制,但我认为请求将排队,直到之前的请求完成为止。

    还有其他人遇到过类似的问题吗?

    编辑:

    我用Fiddler监控了这种情况,当问题发生时,一些请求只是没有出现在会话窗口中。

1 个答案:

答案 0 :(得分:2)

如果会话未显示在Fiddler中,则表示从未进行过HTTP请求。如果浏览器正在旋转而没有取得进展,则表明HTTP连接池耗尽。

这是否仅在特定浏览器中出现?如果是IE6或7,运行fixHTTPMax.reg并重新启动后会出现问题吗?