Go
beego分页携带参数
beego分页携带参数
上篇文章向大家分享如何处理beego模版分页,这一篇跟大家分享如何在分页上携带参数,下面贴出代码。
一、后端控制器代码我们需要获取用户传过来的参数,然后要把这个参数再返回给用户,用于分页上处理,代码如下:
//获取参数
searchStatus, searchStatusErr := c.GetInt("searchStatus")
if searchStatusErr != nil {
searchStatus = 0
}
searchAdminStatus, searchAdminStatusErr := c.GetInt("searchAdminStatus")
if searchAdminStatusErr != nil {
searchAdminStatus = 0
}
searchCommentId, searchCommentIdErr := c.GetInt("searchCommentId")
if searchCommentIdErr != nil {
searchCommentId = 0
}
searchArticleId, searchArticleIdErr := c.GetInt("searchArticleId")
if searchArticleIdErr != nil {
searchArticleId = 0
}
//返回用户搜索参数
getInput := make(map[string]interface{})
getInput["SearchStatus"] = searchStatus //搜索-状态
getInput["SearchAdminStatus"] = searchAdminStatus //搜索-是否管理员
getInput["SearchArticleId"] = searchArticleId //搜索-文章Id
c.Data["getInput"] = getInput //用户搜索参数二、前端进行接收参数并赋值在分页上,点击下一页的时候再回传回给后端,从而达到分页的时候,参数不会丢,代码如下:
layui.use('laypage', function () {
var laypage = layui.laypage;
var searchTitle = {{.getInput.searchTitle}};
var searchTypeId = {{.getInput.searchTypeId}};
var searchLabelId = {{.getInput.searchLabelId}};
//执行一个laypage实例
laypage.render({
elem: 'page' //注意,这里的 page 是 ID,不用加 # 号
, count: {{.PageCount}} //获取数据总条数
, limit: {{.PageLimit}} //每页限制多少条
, curr:{{.PagePage}} //当前页码
, jump: function (obj, first) {
//obj包含了当前分页的所有参数,比如:
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
console.log(obj.limit); //得到每页显示的条数
//首次不执行
if (!first) {
window.location.href = "/adminArticleList?page=" + obj.curr + "&searchTitle=" + searchTitle
+ "&searchTypeId=" + searchTypeId + "&searchLabelId=" + searchLabelId
}
}
});
});这样就成功在分页上携带参数进行跳转。
0条评论