必须引入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 -不能做跨域
-
$("xx").load("xx.php","key=value",data=>{ }) 1.会将数据直接放在页面元素之中,document.write将页面元素给替换掉 2.无法设置请求类型,只能是默认的GET 3.无法脱衣服 -
$.get("xx.php","key=value",data=>{ }."JSON") -
$.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 开始下标,个数;";