在AJAX脚本获取其内容之前,静态页面内容是否会等待加载?

时间:2010-08-17 03:21:22

标签: php html ajax

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

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

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

我的问题是......

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

OR

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

如果在页面加载上执行此操作,则在显示加载AJAX的内容之前,DOM将首先呈现。 Page_Load意味着该函数将等到......好......页面已加载。

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

说你的功能在<head>部分。

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

然后在<body>部分的开头,您可以调用该功能。

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

然而,这可能不是一个好习惯,因为其他网站可能不可用,并且可能会导致整个页面超时或烦扰用户,因为您的网站需要更长时间才能加载。

通常的做法是加载AJAX, AFTER 你的页面加载了,所以我选择#1。

答案 2 :(得分:0)

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

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

如果我误解了你的问题,我很抱歉。