有时候我们需要控制用户频繁向后台发送请求,比如用户高频率点击提交按钮:
可以现在前端使用localStorage控制下这个请求频率,拒绝非正常点击行为,缓解后台压力:
function push() { layui.use('layer', function () { var layer = layui.layer; var content = $("#blog_content").val(); if (!logined()) { showLogin(); return; } else if (!content.trim()) { layer.msg("内容不能为空~~~", {icon: 5}); return; } else if(!get("blog",1000 * 60)) { layer.msg("发布太快了,休息下~~~", {icon: 5}); return; }else { send(content); set("blog","push"); } }) } function set(key,value){ var curTime = new Date().getTime(); localStorage.setItem(key,JSON.stringify({data:value,time:curTime})); } function get(key,exp){ var data = localStorage.getItem(key); if(!data){ return false; } var dataObj = JSON.parse(data); if (new Date().getTime() - dataObj.time>exp) { return true; }else{ return false; } }
评论(3)