【问题标题】:Will static page content wait to load until an AJAX script gets its content?静态页面内容会等待加载,直到 AJAX 脚本获取其内容?
【发布时间】:2010-08-17 03:21:21
【问题描述】:

我正在尝试脱离网站内容并将其显示在我的网站上。

我有站点 1,我想在站点 1 上显示站点 2 的一些内容。

我的计划是在站点 1 上使用 AJAX 在站点 1 上加载 PHP 脚本,该脚本将从站点 2 加载内容并回显它。然后 AJAX 将从 PHP 脚本中获取回显,并将其显示在站点 1 的 DIV 中。

我的问题是……

站点 1 的所有其他静态内容是否会等待 PHP 脚本完全加载并在加载之前回显其内容?

最初是否会加载站点 1 的所有其他静态内容,然后当 PHP 脚本完成从站点 2 获取内容时,AJAX 会将其显示在 DIV 中?

这一切都将在页面加载时发生。

【问题讨论】:

    标签: php html ajax


    【解决方案1】:

    如果您在页面加载时执行此操作,您的 DOM 将在显示 AJAX 加载的内容之前先呈现。 Page_Load 表示函数会等到……嗯……页面加载完毕。

    如果您不希望发生这种情况,您可以使用内联 Javascript 让脚本作为页面加载的一部分运行。

    假设你的函数在你的<head> 部分。

    <head>
      <script type="text/javascript>
        function alertMe() {
          alert("hello world!");
        }
      </script>
    </head>
    

    然后在 &lt;body&gt; 部分的开头,您可以调用该函数。

    <body>
      <script type="text/javascript">
        alertMe();
      </script>
      <!-- Other page content -->
    </body>
    

    但这可能不是一个好的做法,因为其他网站可能不可用,并且可能会导致您的整个页面超时或因为您的网站加载时间较长而惹恼用户。

    加载 AJAX 是很常见的做法,之后您的页面已加载,所以我会选择选项 #1。

    【讨论】:

      【解决方案2】:

      通常是第二种情况:首先加载页面,然后将 ajax 响应添加到 div。

      您可以编写同步 ajax 请求,它会在收到响应之前停止渲染,但这对我来说似乎不是一个好的选择。

      【讨论】:

        【解决方案3】:

        也许你误解了 AJAX 背后的想法。如果不是,那我误解了你的问题。

        如果站点 1 运行的 PHP 脚本回显站点 2 的内容,则该 PHP 脚本将等到它获取站点 2 的内容,然后再继续执行脚本的其余部分。但是,如果站点 1 的 PHP 脚本向客户端发送了一些 JavaScript,那么站点 1 上的 PHP 脚本将运行而不向站点 2 发送任何请求,并且该 JavaScript 将请求站点 2 的内容。

        如果我误解了您的问题,我深表歉意。

        【讨论】:

          猜你喜欢
          • 2022-11-20
          • 2018-07-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-02
          • 2014-03-11
          • 1970-01-01
          相关资源
          最近更新 更多