代码之家  ›  专栏  ›  技术社区  ›  Notaras

当在$(文档)中触发时,AJAX调用会延迟DOM的加载。就绪()

  •  0
  • Notaras  · 技术社区  · 5 年前

    我有一个特殊的页面,从服务器加载数据需要一段时间。我希望实现的是在提取数据时避免出现空白的浏览器屏幕。用户将加载页面模板,并显示一条消息,说明加载数据时请稍候,而不是空白屏幕。

    我试图实现这一点的方法是通过页面加载时的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调用,但这也不起作用。

    有些东西似乎不是真正异步的。到底是怎么回事?

    0 回复  |  直到 5 年前