带有MySQL结果分页的PHP jQuery AJAX

带有MySQL结果分页的PHP jQuery AJAX,php,mysql,ajax,Php,Mysql,Ajax,我面临一个奇怪的问题。我用jQueryAjax函数制作了一个显示MySQL结果的页面。结果在每页中显示为12,因此有多页,因此分页 问题是,当我单击第2页或“下一页”时,它会转到第2页,但当我再次单击第3页或“下一页”而不是转到第3页时,它会返回到第1页。当我从第3页点击第2页时也会发生同样的事情。它总是在转到任何其他页面之前返回到第1页。原因是 if(isset($_REQUEST['page'])) { $page = $_REQUEST['page']; } else{ $

我面临一个奇怪的问题。我用jQueryAjax函数制作了一个显示MySQL结果的页面。结果在每页中显示为12,因此有多页,因此分页

问题是,当我单击第2页或“下一页”时,它会转到第2页,但当我再次单击第3页或“下一页”而不是转到第3页时,它会返回到第1页。当我从第3页点击第2页时也会发生同样的事情。它总是在转到任何其他页面之前返回到第1页。原因是

if(isset($_REQUEST['page'])) {
    $page = $_REQUEST['page'];
}
else{
    $page = 1;
}
返回false,因此在转到第三个页面之前,每次都将页面设置回1,除非它位于第一个页面上

这是jQuery AJAX函数:

<script type="text/javascript">
$(".pagination a").on( "click", function(e){
    e.preventDefault();
    $(".loading-div").show(); //show loading element
    var page = $(this).attr("data-page"); //get page number from link
    $("#container").remove();
    $("#content").load("fetch_page.php",{"page":page}, function(){ 
        $(".loading-div").hide(); // hide loading element
    });
 });
</script>

$(“.pagination a”)。在(“单击”上,函数(e){
e、 预防默认值();
$(“.loading div”).show();//显示加载元素
var page=$(this).attr(“数据页”);//从链接获取页码
$(“#容器”).remove();
$(“#content”).load(“fetch_page.php”,{“page”:page},function(){
$(“.loading div”).hide();//隐藏加载元素
});
});
此外,我还有一个图像缩放功能,当点击一个图像时,它会显示为一个模式框类型的窗口。即使这样,也只能在第1页上使用,而不能在其他任何页面上使用。即使我加载第2页并再次单击第1页,它也可以工作。我注意到,当我点击第1页时,页面加载就好像它不是通过AJAX加载,而是加载整个页面本身,因为它在页面顶部加载页面。而其他页面则使用AJAX按预期加载


这很奇怪,我不明白为什么会发生这种情况,尽管我已经检查了分页代码,而且它显然在
href
属性中根本没有任何URL。

这适用于委派:

$(document).ready(function() {
    $("#content" ).load( "fetch_page.php");

$("#content").on( "click", ".pagination a", function (e){
    e.preventDefault();
    $(".loading-div").show(); //show loading element
    var page = $(this).attr("data-page"); //get page number from link
    $("#content").load("fetch_page.php",{"page":page}, function(){ //get content
        $(".loading-div").hide(); //hide loading element
    });
  });
});

设置
var页面
后,尝试执行
alert(page)
,查看问题是否存在。如果您在此处获得意外值,可能是您的
数据页
属性在可单击的页码中出错。谢谢。我想我可能已经发现了问题所在。这是因为脚本没有使用DOM重载加载,所以可能是它导致了问题。我会试着把它修好。然而,我仍然对图像问题一无所知。你能帮个忙吗?当你在第2页的时候,你的控制台里有JS错误吗?我们可以看看你的代码设置缩放吗?看看控制台和firebug中的所有内容。绝对没有JS错误。JS文件/css和php文件都已加载,没有任何错误。当我在第二页时,放大镜也出现了,这意味着CSS已经完全加载。DOM元素通过AJAXHey完全加载。我刚想出来。。我将JS脚本放在通过AJAX加载的文件中,现在就可以工作了。这意味着每次加载DOM时都需要加载JS文件。所以基本上每次有新的AJAX请求时都必须加载所有的JS??可能是因为浏览器将JS信息存储在内存中,一旦DOM再次加载,内存地址就会改变??我真的不知道。