0

我有一个页面,其中包含加载其中一个元素(第 3 方网格组件)时长时间运行的 Ajax 请求。这个 Ajax 请求延迟了文档上就绪事件的触发。我使用 jQuery UI 插件(按钮,dilog)。我曾经将它们应用于 $(document).ready 处理程序中的元素,但现在在这种情况下,直到 Ajax 进程完成,我看到了许多纯粹的、未格式化的丑陋元素。该请求最多可能需要 4-5 秒,因此非常烦人。对于这种情况,什么可能是一个好的解决方案?

我可能会隐藏相应的元素,直到请求完成,然后显示它们,但如果有的话,我更喜欢一些更通用的技术。

另外,不幸的是我对这个组件没有太多的控制权,所以我无法控制它何时以及如何加载它的数据。

编辑:延迟就绪事件的请求当然不是Ajax请求,它是组件的MVC局部视图的长时间处理。但问题仍然存在,因为页面的其他部分(“上方”该区域)加载较早。

编辑:我在 ASP.NET MVC3 中工作,可能一些输出缓冲技术会有所帮助,这将防止刷新任何内容,直到整个请求被处理(类似于 PHP 中的 ob_XXX 函数)。

4

2 回答 2

0

在 dom 准备好并创建 UI 之后启动 ajax 请求怎么样?

于 2013-02-07T19:40:08.303 回答
0

直到我在服务器端找到更合适的技术之前,我为这些元素添加了一个特殊的 CSS 类,其名称为“hidden-until-ready”,它定义了“display: none”。在文档就绪事件中,我在应用插件之前执行了一行 jQuery 来显示它们。感谢您的回复。

于 2013-02-07T20:18:52.597 回答