1

好的,所以我有一个加载一些数据并使整个页面加载缓慢的 div。幸运的是,这些数据可以等待,我想最后加载它。我已经看过类似的其他帖子,但由于我缺乏经验,因此需要更多帮助才能使其正常工作。

所以例如我有:

<div id="stuff">
<?php Some PHP Here ?>
</div>

我现在有

$(window).load(function () {
    $('#stuff').load('');
});

几个问题...我是创建一个空的 div 然后用数据填充它,还是我可以将数据放在那里然后指定最后加载,如果可能的话,这将是首选。

我知道我可以加载一个网页,$('#stuff').load('stuff.php');但是我在 div 中使用了一个变量,那么我如何将它传递给该加载函数并传递给 php 页面?

我只是不知道每次加载 div 时如何将变量传递给 javascript,因为它处于 while 循环中。

谢谢您的帮助。

4

1 回答 1

3

因为 javascript 在客户端处理而 PHP 在服务器端运行,所以您无法对已经加载的 HTML 进行 PHP 操作(页面已经从服务器发送到客户端,因此 PHP 无法再访问它)。

由于这个事实,您将需要 javascript AJAX

因为你是初学者,所以我建议你使用jQuery javascript 框架中的ajax函数来解决这个问题。它的工作原理与 javascript 函数相同,并自动处理许多操作。

正如您正确假设的那样,您可以首先显示空 div,然后,......页面完全加载后,您可以调用您的 ajax。

这个 ajax 基本上要求 PHP 脚本为加载的页面提供数据,这些数据将显示在指定的 html 元素中。

代码应如下所示:

将此包含在您的 PHP 文件中,其中包含您加载的内容:

<script type="text/javascript">http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js</script> <!--loads jquery framework-->

<script type="text/javascript">  
  $(document).ready(function() {
    //when page is loaded
    $.ajax({
      url: "ajax.php" //script with your data selection
    }).done(function(data) { //when ajax call success
      $("#ajax-element").html(data); //insert data returned from ajax.php into div with id ajax-element
    });
  });
</script>


<div id="ajax-element"></div>

这是将为您返回数据的 PHP ajax 文件(只需回显您想要在“ajax-element”div 中拥有的所有内容,例如:

<?php
 echo "some text";
?>

有关更多信息,您可以在此处找到 jquery AJAX 规范。

于 2013-09-04T21:10:10.620 回答