关于ajax分页,点击第二页出现异常

我照抄了一个thinkphp和ajax搜索加分页的代码,网址如下:
http://www.thinkphp.cn/topic/...
这个实例默认初始时所有查询结果都显示出来。
当我输入搜索条件后,出现查询结果列,如果结果页有两页,当我点击第二页时,页面返回到所有查询结果的页面。
我想了很久,发现可能是他的js代码中pageObj.href写错了,为什么大家可以重点看下那部分:
<script type="text/javascript">

$(function(){
   //var 一个空
    var searchval='';
    $('#page a').live('click',function(){
        var pageObj = this;
        var url = pageObj.href;
        var search_val=searchval;
        $.ajax({
            type:'post',
            url:url,
            data:{
                    search_val:search_val,
                },
            success:function(data){
                 $('#content_table').html(data);
            }
        });
         return false;
    });

    $('#search_btn').live('click',function(){
        var pageObj = this;
        var url = pageObj.href;
        var search_val=$('#search_value').val();
        $.ajax({
            type:'post',
            url:"{:U('publish')}",
            data:{
                    search_val:search_val,
                },
            success:function(data){
                 $('#content_table').html(data);
            }
        });
        searchval=search_val;
        return searchval;
        return false;
    })
})

</script>

阅读 2.4k
2 个回答

不太熟悉 thinkPHP, 不过如果他的lib没有问题的话,那可能是

search_val

变量值不对

你可以把他在后台的实现看成是一个 SQL

select * from sampleTable where id="123" limit 20;

你描述他返回的是所有的值,说明他是进行了查询的.但是查询的条数

是不对的.我看了一下代码,POST过去的值只有这么一个,所以可能是

你的代码没有能正确的给该变量赋值,导致后台无法返回对应的查询值.

你把search_val直接写到url里,或者ajax改用get方法试试。

thinkphp的page是再当前方法的url基础上加上了页码参数,你给的原方法中,用post传递的搜索参数无法体现到分页链接里。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题