0

我有一个 PHP 脚本,它需要大约 1 分 20 秒才能加载,因为它从其他网站获取数据。但是我需要一些方法来向用户显示页面正在加载。带有 .gif 加载图像的类似“此页面正在加载,可能需要 2 分钟”之类的内容。

我试过jquery:

    <html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>

    <body>
    <script>
      // Put an animated GIF image insight of content
      $("#content").empty().html('<img src="http://www.website.com/images/loading.gif" />');

      // Make AJAX call
      $("#content").load("http://website.com/page.php")
      </script>

<div id="content">
Content to load here!
</div>

    </body>
    </html>

但是页面是空白的(不知道我是否执行错误)。

还有其他方法吗?

我查看了其他问题,但找不到任何符合我需要的东西,我可以开始工作。

谢谢,

杰克。

4

4 回答 4

4

在脚本完成加载之前,您不会得到服务器的响应。因此,您必须使用另一个页面“前置”该页面,该页面显示加载部分。该页面应该调用您要执行的脚本,例如通过 AJAX 调用。

于 2013-01-03T16:40:27.610 回答
4

您可以将 AJAX 调用与beforeSend事件success一起使用:

$.ajax({
   url: "http://website.com/page.php", type: "POST",
   beforeSend: function() {
      $("#content").html('<img src="images/loading.gif" />');
   },
   success: function(data) {
      $("#content").html(data);
   }
})
于 2013-01-03T16:43:00.777 回答
2

script弄错了标签。您需要关闭调用,并为实际代码打开一个新scriptsrc

此外,您需要在使用 JQuery 获取对象之前加载 DOM。您可以$(document).ready()在 DOM 元素之后使用或放置脚本。

于 2013-01-03T16:46:49.147 回答
0

您的 jquery 在文件中加载到哪里?如果它在顶部加载,您应该在执行其 JS 之前等待 dom 加载。

http://api.jquery.com/ready/

于 2013-01-03T16:42:38.827 回答