分页AJAX,需要包括js所有的时间


Pagination AJAX, need to include js all the time?

我有大约10个JS文件的page.php:

PAGE.PHP

<script type="text/javascript" src="somefile1.js"></script>
<script type="text/javascript" src="somefile2.js"></script>
<script type="text/javascript" src="somefile3.js"></script>
...
<div id="pictures"></div>
...

在这个页面我有一些图片,需要所有这些js,和一个AJAX函数做分页后,每10张图片:

AJAX

next page ->
$.post('/LOADMORE.php',{
    'group_no': track_load,
    'idpag': idpag
}, 

Ok,当用户点击下一页时,AJAX将调用LOADMORE.PHP加载更多的图片在div id="pictures"

这些图片需要一些Jquery(如上面的图片-这个Jquery函数已经在PAGE.PHP中了)函数来打开屏幕上更大的图片和其他东西。

发生的事情是PAGE.PHP中的脚本不能处理使用AJAX分页加载的图片。所以我需要将所有10个js文件也包含在loadmore。php中:

<script type="text/javascript" src="somefile1.js"></script>
<script type="text/javascript" src="somefile2.js"></script>
<script type="text/javascript" src="somefile3.js"></script>
<?php
        $stmt = $mysqli->prepare("SELECT * FROM posts ORDER BY id DESC LIMIT ?");
    ...
    while($l = $result->fetch_assoc()) {
    echo"<img src=$picture>";
    }
?>
  • 我的问题1是,它是正确的,我需要包括JS在loadmore.php这工作吗?

  • 问题2:如果它是正确的,没有问题,这个<script>在loadmore.php不是在<head>标签?因为loadmore.php只是一个PHP函数,在mysql中选择图片并将其带给用户,没有<head><title><body>...我应该使用这个标签吗?

我想建议你应该使用开关箱来正常工作。不需要在所有页面中包含所有文件,也不需要在LOADMORE文件中使用所有标签。做一件事,使用切换案例给页面名称作为案例,并在该特定页面中使用您想要的所有JS文件。如下所示,通过使用这种方法,您不必在所有页面中包含不必要的文件,并且您的代码可以正常工作。例:-

switch($page)
{
case "PAGE":
<script type="text/javascript" src="somefile1.js"></script>
<script type="text/javascript" src="somefile2.js"></script>
<script type="text/javascript" src="somefile3.js"></script>
break;
case "LOADMORE":
<script type="text/javascript" src="somefile4.js"></script>
<script type="text/javascript" src="somefile5.js"></script>
<script type="text/javascript" src="somefile6.js"></script>
break;
default:
<script type="text/javascript" src="commonjs1.js"></script>
<script type="text/javascript" src="commonjs2.js"></script>
<script type="text/javascript" src="commonjs3.js"></script>
break;
}

您是否为LOADMORE.PHP中加载的图片的容器或元素提供唯一id ?如果你这样做了,并且它们在PAGE.PHP中对你的js有意义…