先引入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=>{
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).")";
4、滚动监听触发ajax
前端:
var count=0;
$(window).scroll(()=>{
var sh=$(window).scrollTop()+innerHeight;//获取当前滚动条滚动到底部的位置
var bh=$("body").height();//完整的页面的高度
if(sh==bh){
$.get("05server.php",`count=${count}`,data=>{
//拿到data你要干啥子
count+=2;
},"JSON")
}
})
后端:
$sql="SELECT * FROM 表名 ORDER BY id DESC LIMIT 开始下标,个数;";