jQuery简化:DOM、事件、ajax

193 阅读1分钟

必须引入jquery.js文件

1、第一层:最麻烦,但是最无敌的

 $ajax({
     "url":"xx.php",//连接服务器端的地址,【必写】
     "type":GET/POST",//请求的类型,默认值为get  -可选
     "data":"key=value&...",//请求的消息 -可选
     "dataType":HTML/JSON/XML/JSONP",//解析的相应消息//"jsonp":"callback".//通行令的名字
     "success":(data)=>{  //ajax请求成功,才会执行,并且返回得到的数据,【必写】
                data; //服务器端返回的相应数据
                },
                "error":()=>{
                   //只有报错才会执行  -可选
                   }
         });
         

2、第二层:第一层的基础上进行了再次简化:3个API -不能做跨域

  1. $("xx").load("xx.php","key=value",data=>{
       })
       1.会将数据直接放在页面元素之中,document.write将页面元素给替换掉
       2.无法设置请求类型,只能是默认的GET
       3.无法脱衣服
    
  2.  $.get("xx.php","key=value",data=>{
       }."JSON")
    
  3.  $.post("xx.php","key=value",data=>{
        },"JSON")
    

3.第三层:特殊功能 -跨域(拿别人电脑上的数据)

 浏览器具有保护策略 -同源策略:要求协议、域名、端口号必须相同,只要有一个不同就会触发此保护机制
 跨域jquery使用到了一个叫jsonp技术
 跨域语法:
 前端:
 $.getJSON("url?key=?","data",data=>{
         //key=?  -jquery自动传入了一个值,其实就是一个函数,后端需要接住后在调用:通行令函数
         })
  后端:echo $_GET["key"]."(".JSON_encode($arr).")";
  

目的:1、简化版ajax 2、如何使用ajax去拿别人电脑上的数据

4.滚动监听触发ajax

前端:
            var count=0;
            $(window).scroll(()=>{
                 var sh=$(window).scrollTop()+innerHeight;   获取到当前滚动条滚动到底部的位置;
                 var bh=$("body").height();  //完整的页面高度
                 if(sh==bh){
                      $.get("php路径",`count=${count}`,data=>{
                               //拿到data要干的操作
                               count+=2;
                             },"JSON")
                       }
                  })
后端: 
   $sql="SELECT * FROM 表名 ORDER BY id DESC LIMIT 开始下标,个数;";