首页 新闻 赞助 找找看

thinkphp中以post方式查询进行分页处理

0
悬赏园豆:100 [已解决问题] 解决于 2014-07-13 20:47

  最近遇到一个非常棘手的问题,也是因为刚入手thinkphp。在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进行下一页的,这样查询条件就没有传入后台,导致点击下一页的时候,出现空白。

  查看了一下thinkphp官方手册,说了如果是POST方式查询,如何确保分页之后能够保持原先的查询条件呢,具体说明如下图所示:

  但是我对手册有一处不解,既然是以通过a标签分页,这样$map(即查询条件参数)中的参数值是怎么传到后台的,看不懂,难道是我太水了?求大神指导

  我再网上也试了其他的一些方法,比如用$_REQUEST方式获得参数,说是包括了post和get方式的传值,尝试了几次,结果还是失败了。还有其他的方法,看了一下都不靠谱啊,求大神帮忙。。。

NW_KNIFE的主页 NW_KNIFE | 初学一级 | 园豆:95
提问于:2014-07-12 22:01
< >
分享
最佳答案
0

应该可以用js 重写链接的click事件, 用ajax postback把参数传回去吧

收获园豆:100
gunsmoke | 老鸟四级 |园豆:3592 | 2014-07-13 09:57

恩,这个方法昨天晚上也考虑了这种方法,尝试的时候js报错,今天早上又试了一次,结果成功,谢谢~

具体的改写方法如下:

// 分页
$('#pageBar a').click(function(){
  var tmpHref = $(this).attr('href');
  tmpHref = tmpHref.replace(/\/selCon\//,"");
  $("#form").attr("action", tmpHref);
  $("#form").submit();
  return false;
});

NW_KNIFE | 园豆:95 (初学一级) | 2014-07-13 12:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册