我有一个特殊的页面,从服务器加载数据需要一段时间。我希望实现的是在提取数据时避免出现空白的浏览器屏幕。用户将加载页面模板,并显示一条消息,说明加载数据时请稍候,而不是空白屏幕。
我试图实现这一点的方法是通过页面加载时的ajax调用将页面模板的加载与数据分离,如下所示:
<html>
<head>
<script type="text/javascript" src="jquery.js" />
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: 'script that loads the data',
success: function(data) {
$('body').html(data);
}
});
});
</script>
</head>
<body>Please wait while data loads</body>
</html>
看起来(至少在Chrome中),即使采用这种分离方式,页面最初仍显示为空白。我试过使用
settimeout()
在一两秒钟后启动ajax调用,但这也不起作用。
有些东西似乎不是真正异步的。到底是怎么回事?