博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery实现下拉加载(附php数字签名规则
阅读量:7065 次
发布时间:2019-06-28

本文共 2170 字,大约阅读时间需要 7 分钟。

  hot3.png

    //drop autoload    var page = 1,tmp;    var totalPage = $(".page a").length-2;    //Prevent multiple nextPage() calls    var stop = false;    $(window).scroll(function () {        var scrollTop = $(this).scrollTop();        var scrollHeight = $(document).height();        var windowHeight = $(this).height();        if (scrollTop + windowHeight >= scrollHeight) {            if(stop==false){                 page++;                if (page <= totalPage) {                    stop=true;                    nextPage(page);                }            }        }    });     function nextPage(page){        $.ajax({        type: 'get',        url: window.location+"&page="+page,        beforeSend:function(){$("ul").append('
loading...

')},         success:function(data){            $("p.load").remove();            var start = data.indexOf('
');            var end = data.indexOf('',start)+5;            var add = data.substring(start,end);            $(add).each(function(){                $("ul").append($(this).html());            });            stop = false;        }        });    }

|workflow

1.获取页面滚动事件

可以直接$(window).scroll()来获取。也可以用bind绑定scroll动作:

$(function(){     $(window).bind('scroll',function(){}); }
2.判断滚动范围是否超出屏幕底部

即滚动条位置+窗口高度 >= 文档高度,则加载下一页内容:

if ($(this).scrollTop() + $(this).height() >= $(document).height()) {}

scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。

3.$.ajax({ })获取下一页内容再append到页面中

因为后台返回的是一个完整的html页面,所以用indexOf+substring截取需要的ul列表,最后再append。

注意还需要设置一个flag来防止scroll的多次触发,默认为false,当ajax success执行完后再赋值true。


|签名规则

做api测试时需要生成signature,假设request是user_id 、oder_id、sign

然后user_id有唯一的key对应

用表单提交会得到一个数组

$arr(    'user_id'     => 22,    'order_id'    => 58,    'key'         =>asdf)

下面进行签名的生成

$key =$arr['key']unset($arr['key']); $arr = ksort($arr);//数组按照键名排序$str = json::encode($arr);$str.=$key;$sign = md5($str);

其实做的时候也不是很清楚签名的作用,所以去学习了一下。

【数据加密】用公钥加密,防篡改

只有用私钥解密,因为私钥只有自己有,所以保证了数据不能被别人看到

【签名】私钥加密,防泄漏

只能用公钥解密,任何人都可以用公钥验证。因为私钥只有自己有,所以它可以保证数据只能是自己发出的,不可能有别人发出,除非私钥丢失或被第三方破解出来

这样也大概理解

【签名】客户端A,签名表示这个请求是A发起的,而只要有公钥的服务器就可以查看A的签名从而验证客户端。

【加密】服务端希望数据只能被A客户端看到,所以加密了数据,并且数据只能被A的私钥解密。

转载于:https://my.oschina.net/sikou/blog/658619

你可能感兴趣的文章
luacurl安装
查看>>
JBoss的配置
查看>>
软件测试之Web实战测试
查看>>
Tomcat的参数配置及一般问题的解决
查看>>
Extjs 4 grid中的checkbox的加载时预选中【默认选中】
查看>>
JAVA CAS原理深度分析
查看>>
O2O?啥是“呕吐呕”?
查看>>
百度的疯狂 UC的隐忍
查看>>
我的友情链接
查看>>
AGG第三十五课 gsv_text 渲染ASCII字符
查看>>
查找组成一个偶数最接近的两个素数
查看>>
不怕狼一样的敌人,就怕狗一样的朋友
查看>>
bash基础特性
查看>>
reactjs服务器端渲染——node搭建简易服务器
查看>>
搭建wordpress&Dokuwiki based on LAMP platform(CentOS 6.4)
查看>>
Kubernetes集群部署1
查看>>
nginx负载均衡与反向代理配置文件分析实例
查看>>
CentOS 7.4 安装Zabbix 3.4
查看>>
Centos7 yum安装Chrome浏览器
查看>>
非root用户下安装nginx及运行
查看>>