在服务器生成页面时显示加载屏幕

时间:2012-01-04 03:58:37

标签: database asp-classic server-side

我有一个ASP脚本,可以响应一些GET参数生成页面内容。

有时页面生成需要一些时间(运行数据库查询等),并且我想在页面加载时向用户显示内容。这样做的标准方法是什么?

我目前没有在页面上使用AJAX。

2 个答案:

答案 0 :(得分:3)

你有没有使用AJAX的原因?去年夏天我在实习期间遇到了类似的问题。起初我决定忽略AJAX,部分原因是因为懒惰而不想学习javascript / ajax的用法。然而,越来越明显的是,如果没有ajax,用户体验将受到严重阻碍(由于您在这里谈论的是同样的事情......一个长期的服务器端操作)。

如果您处于“AJAXify”应用程序的位置,那么我想您可以在最初发出请求时添加加载图像,然后在异步调用返回时将其替换为给定内容。 Jquery使用各种AJAX工具和回调函数使这种事情变得非常容易。

当然,你可能已经意识到这一切......所以如果我只是重述那些显而易见的事情,请原谅我!

答案 1 :(得分:2)

您可以使用Response.Flush强制某些内容加入浏览器:

Response.Write("<div id=""preloader"">Loading, please wait...</div>")
Response.Flush()
'long running code...
'long running code...
'long running code...
Response.Write("<script type=""text/javascript"">document.getElementById(""preloader"").style.display = ""none"";</script>")