我有一个页面,其中包含加载其中一个元素(第 3 方网格组件)时长时间运行的 Ajax 请求。这个 Ajax 请求延迟了文档上就绪事件的触发。我使用 jQuery UI 插件(按钮,dilog)。我曾经将它们应用于 $(document).ready 处理程序中的元素,但现在在这种情况下,直到 Ajax 进程完成,我看到了许多纯粹的、未格式化的丑陋元素。该请求最多可能需要 4-5 秒,因此非常烦人。对于这种情况,什么可能是一个好的解决方案?
我可能会隐藏相应的元素,直到请求完成,然后显示它们,但如果有的话,我更喜欢一些更通用的技术。
另外,不幸的是我对这个组件没有太多的控制权,所以我无法控制它何时以及如何加载它的数据。
编辑:延迟就绪事件的请求当然不是Ajax请求,它是组件的MVC局部视图的长时间处理。但问题仍然存在,因为页面的其他部分(“上方”该区域)加载较早。
编辑:我在 ASP.NET MVC3 中工作,可能一些输出缓冲技术会有所帮助,这将防止刷新任何内容,直到整个请求被处理(类似于 PHP 中的 ob_XXX 函数)。