对于这个项目,我必须拥有它,以便在查询数据库时加载页面,但即使查询尚未完成加载,我希望页面显示并等待查询完成。这样,当用户想知道发生了什么时,页面不会只是坐在那里。我知道Ajax可以实现这一点,但我想知道如果没有它可以做到这一点。
我正在使用MVC3和IIS 7.
答案 0 :(得分:1)
您始终可以使用纯HTML加载包装页面,然后将调用嵌入到在iFrame中执行数据库功能的代码中。漂亮的贫民区意味着做来回的东西,但它应该有用。
编辑
除了iFrame,您还可以拥有
<script src="pathToSlowCode/"></script>
...标记嵌入在包装页面的末尾。当它最终加载时,您将可以访问该页面返回的javascript以用于处理响应。
答案 1 :(得分:1)
是的,这叫做“Chunking”。大多数框架和服务器都支持这一点。
答案 2 :(得分:0)
如果您正在使用PHP,那么当您在服务器上生成除页面的查询部分以外的所有部分时,您只能flush输出缓冲区,以便客户端接收该部分页面(即标题和内容的顶部)。
然后在查询完成后添加其余部分,然后再次刷新缓冲区。 您可能还需要添加标题“Transfer-Encoding:chunked”,但我不确定。