文章来源:http://gf.johng.cn/597434
Ajax分页与其他分页方式的区别在于,分页链接会使用Javascript方法来实现,该Javascript方法是分页方法,参数固定为该分页对应的分页URL地址。
完整示例如下:
@H_502_6@package main import ( "gitee.com/johng/gf/g/os/gview" "gitee.com/johng/gf/g/net/ghttp" "gitee.com/johng/gf/g/util/gpage" ) func main() { s := ghttp.GetServer() s.BindHandler("/page/ajax",func(r *ghttp.Request){ page := gpage.New(100,10,r.Get("page"),r.URL.String(),r.Router.Uri) page.EnableAjax("DoAjax") buffer,_ := gview.ParseContent(` <html> <head> <style> a,span {padding:8px; font-size:16px;} div{margin:5px 5px 20px 5px} </style> <script src="https://cdn.bootcss.com/jquery/2.0.3/jquery.min.js"></script> <script> function DoAjax(url) { $.get(url,function(data,status) { $("body").html(data); }); } </script> </head> <body> <div>{{.page}}</div> </body> </html> `,g.Map{ "page" : gview.HTML(page.GetContent(1)),}) r.Response.Write(buffer) }) s.SetPort(8199) s.Run() }在该示例中,我们定义了一个DoAjax(url)
方法用来执行分页操作,为演示需要它逻辑很简单,会加载指定分页页面的内容并覆盖掉当前页面的分页内容。