添加AJAX时分页无效

我有一个基于PHP的分页系统,它工作正常,我使用GET参数传递页码:

 $totalpages) { $currentpage = $totalpages; } if ($currentpage  

我显示链接的方式是这样的:

  h3>Results  -  of  
    <?php if ($currentpage!=$totalpages) { echo "
  • $totalpages
  • "; $nextpage = $currentpage + 1; echo "
  • Next»»
  • "; }?>
    <?php if($currentpage<$totalpages){ for ($x = ($currentpage - 3); $x 0) && ($x <= $totalpages)) { if ($x == $currentpage) { echo "
  • $x
  • "; } else { echo "
  • $x
  • "; }}} } ?>
    1){ $prevpage = $currentpage - 1; echo "
  • ««Prev
  • "; echo "
  • 1
  • "; }?>

这种分页工作正常。

我的问题是我现在想要添加AJAXfunction,以便我在分页中同时具有两种function,即如果JavaScript被关闭,分页将在PHP中工作。

我试过这个:

 $(function() { $('#pagination ul li a, .temp').click(function(ev) { ev.preventDefault(); $('#temporary').load($(this).attr('href')).modal(); }); }); 

但现在,分页不起作用,点击分页链接时没有任何事情发生。 怎么了?

似乎对你的要求存在一些困惑。 据我所知,你想要同时使用PHP分页(当js被禁用时)和AJAX分页以利用动态加载(当启用js时)。

为此,您应该执行以下操作:

  1. 将生成列表的代码放入诸如generateList($page)类的函数中
  2. 在您的php页面中,输出上面创建的函数的结果作为初始视图。
  3. 创建一个ajax_actions.php页面,该页面可以调用您在步骤1中创建的函数并返回结果。
  4. 使用链接单击hander来调用(通过AJAX)ajax_actions.php页面并显示结果。 您可能需要从链接点击中解析页面ID并将其传递。

如果你做这些事情,当JS被禁用时,PHP将处理分页。 启用JS后,您将执行ev.preventDefault()并使用AJAX显示内容。

希望有所帮助。

如果浏览器不支持JavaScript,Ajax将无法工作。 Ajax代表异步JavaScript和XML。

那你现在还想支持Ajax吗?

如果是,请确认以下内容,

  1. “暂时是具有列表和分页的容器吗?”

  2. 给定url($(this).attr(’href’))发送的结果是什么? 它应该返回适​​当的HTml,没有Document和body标签等。

  3. 你检查过你的JavaScript错误控制台了吗?那里有错误吗?

您可以使用ajax方法而不是加载,该方法提供了处理服务器错误的function,您可以查看服务器是否返回任何错误。