【问题标题】:Pagination AJAX, need to include js all the time?分页AJAX,需要一直包含js吗?
【发布时间】:2015-10-03 10:13:31
【问题描述】:

我有大约 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
}, 

好的,当用户点击下一页时,AJAX 会调用 LOADMORE.PHP 在 div id="pictures"

中加载更多图片

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

发生的情况是 PAGE.PHP 中的脚本不适用于使用 AJAX 分页加载的图片。所以我也需要在 LOADMORE.PHP 中包含所有 10 个 js 文件:

<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 是,对不对,我需要在 loadmore.php 中包含 JS 才能正常工作吗?

  • 问题2:如果是对的,那么loadmore.php中的这个&lt;script&gt;不在&lt;head&gt;标签上就没有问题了?因为loadmore.php只是一个PHP函数,在mysql中选择图片并带给用户,没有&lt;head&gt;&lt;title&gt;&lt;body&gt;...我应该用这个标签吗?

【问题讨论】:

  • 这听起来像xy problem。我几乎肯定有一种更简单、更清洁的方法来完成您的最终结果,但您还没有解释最终结果是什么!
  • 解决方案取决于代码的作用。如果都是事件处理程序...解决方案很简单。如果涉及插件,情况会有所不同。显示脚本代码示例
  • @charlietfl 我用我的代码的一些简单部分对其进行了编辑,我认为它总结了它的含义。
  • 你的意思是javascript监听器在你的ajax调用页面上不起作用?
  • 是的,我需要包含

标签: javascript php jquery html ajax


【解决方案1】:

我想建议您使用 switch-case 以使其正常工作。无需在所有页面中包含所有文件,并且您不必在 LOADMORE 文件中使用所有这些标签。 做 1 件事,使用 switch case 将页面名称作为大小写,并在该特定页面中使用您想要的所有 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;
}

【讨论】:

    【解决方案2】:

    您是否为加载到 LOADMORE.PHP 中的图片的容器或元素提供了唯一的 ID? 如果您这样做并且它们对您在 PAGE.PHP 中的 js 有意义...应该可以正常工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 2014-07-18
      相关资源
      最近更新 更多