layui框架中的page困扰我很久,一个页面初始化后并且分页,导致初始化渲染请求一次,分页再请求了一次,一个接口就重复请求了2次,通过不停的分析和测试,最终解决了这个问题。

基于JQ的ajax二次封装的baseJqAjax:

 //基于JQuery的baseJqAjax
function baseJqAjax ( options , error , success ) { options = options === undefined ? {} : options; var type = options.type === undefined ? 'post' : options.type; var async =options.async === undefined ? true : options.async; var url = options.url === undefined ? '' : options.url; var data = options.data === undefined ? {} : options.data; var dataType =options.dataType === undefined ? 'json' : options.dataType; $.ajax({ type: type, async: async, url: url, data: data, dataType: dataType, error: function(err) { error&&error(err); }, success: function(result) { success&&success(result); } }); }
/*使用方法有两种*/ //第一种逻辑较多的选择 其他参数不设置使用默认参数 baseJqAjax({url:url,data:data},error,success); function error(err){ //请求失败执行的代码
} function success(result){ //请求成功后执行的代码
} //第二种适合业务逻辑较少 其他参数不设置使用默认参数
//
baseJqAjax({url:url,data:data},function error(err){ //请求失败执行的代码 },function success(result){ //请求成功后执行的代码 });

项目中某个页面的初始化分页并且可以搜索功能:

 //init和page 里的接口都是同一个
function init(){ baseJqAjax({url:url,data:data},function error(err){ //请求失败执行的代码 },function success(result){ //请求成功后执行的代码
//成功请求到数据result
var data=result.data;
var page=result.count;
page(data,page);
});
} function page(data,page){ layui.use('laypage', function(){ var laypage = layui.laypage; laypage.render({ elem: 'free',//注意,这里的 test1 是 ID,不用加 # 号 count: page, groups:2, //数据总数,从服务端得到 limit:2, //每页的条数在这里设置 jump: function(data, first){ //page if(!first){ baseJqAjax({url:url,data:data},error,success); function error(err){
//分页请求失败执行的代码
} function success(result){
//分页请求成功后执行的代码
}
} else { //init var html=''; for(var i=0;i<data.length;i++){ html += '<li>'+ data[i].parkingLotName + '</li>'; } $('#ul').html(html); }
}
});
});
}

如有疑问,欢迎留言。

layui之初始化加分页重复请求问题解决的更多相关文章

  1. iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)

    一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...

  2. Layui table 组件的使用:初始化加载数据、数据刷新表格、传参数

    背景 笔者之前一直使用 bootstrap table ,因为当前项目中主要使用 Layui 框架,于是也就随了 Layui table ,只是在使用的时候出现了一些问题,当然也是怪自己不熟悉的锅吧! ...

  3. layui 工具条实现分页

    1.页面 <div id="getShowTable" style="width: 100%; height: auto;clear: both;"> ...

  4. EasyUI中那些不容易被发现的坑——EasyUI重复请求2次的问题

    问题控件:datagrid.combobox.所有能设置url属性的控件 问题版本:1.4.4.1.4.5(之前的版本没测) 问题如图: 重复请求2次,错误代码如图: 错误问题分析:html加载的时候 ...

  5. php结合layui实现前台加后台操作

    一:前台加载出前端页面: HTML: lay-data="{width:800,height:400, url:'data.php', page:true, id:'test'} js: l ...

  6. Java后台防止客户端重复请求、提交表单

    前言 在Web / App项目中,有一些请求或操作会对数据产生影响(比如新增.删除.修改),针对这类请求一般都需要做一些保护,以防止用户有意或无意的重复发起这样的请求导致的数据错乱. 常见处理方案 1 ...

  7. SpringCloud微服务实战——搭建企业级开发框架(三十九):使用Redis分布式锁(Redisson)+自定义注解+AOP实现微服务重复请求控制

      通常我们可以在前端通过防抖和节流来解决短时间内请求重复提交的问题,如果因网络问题.Nginx重试机制.微服务Feign重试机制或者用户故意绕过前端防抖和节流设置,直接频繁发起请求,都会导致系统防重 ...

  8. Web 组合查询加 分页

    使用ADO.NET 数据访问技术制作web端组合查询加分页的功能关键在于查询SQL语句的拼接 以Car 表为例 每页显示3条数据 数据访问类使用查询方法,tsql 查询的连接字符串,查询的参数放到Ha ...

  9. spring 注解重复(防重复请求)

    1.配置拦截器 spring-mvc.xml <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/ ...

随机推荐

  1. Electron-vue 新建Demo

    vue init simulatedgreg/electron-vue Test(项目名)

  2. 通过阅读python subprocess源码尝试实现非阻塞读取stdout以及非阻塞wait

    http://blog.chinaunix.net/uid-23504396-id-4661783.html 执行subprocess的时候,执行不是问题最麻烦的是获取进程执行后的回显来确认是否正确执 ...

  3. 自定义flume的hbase sink 的序列化程序

    package com.hello.hbase; import java.nio.charset.Charset; import java.text.SimpleDateFormat; import ...

  4. R3注入的四种方式

    DLL注入 1.首先要获取想要注入的进程句柄(OpenProcess) 2.从要注入的进程的地址空间中分配一段内存(VirtualAllocEx) 3.往分配的内存位置写入要注入的DLL名称(Writ ...

  5. Linux 命令自动补齐快捷键

    Linux 命令自动补齐快捷键 : TAB

  6. java线程池ThreadPoolExecutor类使用详解

    在<阿里巴巴java开发手册>中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量:另一方面线程的细节管理交给线 ...

  7. 下载goland解压错误

    把连接里面的 download.jetbrains.8686c.com 换成 download-cf.jetbrains.com

  8. Flask-状态保持-CSRF

    问题:cookies基于浏览器的同源策略,不同域名的cookie不能相互访问,为什么可以进行跨站请求伪造呢? 原因:cookie基于浏览器的同源策略,确实是在实现状态保持的时候,不能跨域访问. 跨站请 ...

  9. OpenGL学习记录

    1.QT OpenGL工程建立: http://www.cnblogs.com/tornadomeet/archive/2012/08/22/2651574.html 2.Qt自定义界面类并提升(提升 ...

  10. Problem 1 :nslookup,dig,host及网络相关命令

    网络基础命令 [root@localhost sysconfig]# netstat -rn Kernel IP routing table Destination Gateway Genmask F ...