什么是ajax? asynchronous JavaScript and xml
不用加载整个页面,只用更新部分页面----用来做数据交互的
ajax的原理:通过xmlHttpRequest对象向服务器发送异步请求,从而从服务器中获取到数据,然后把这个数据通过js来操作DOM从而达到渲染页面的效果
简单来说:ajax用于客户端和服务器端交换数据,可以实现在不重新加载整个页面的情况下,对网页的部分进行更新。
ajax的核心:xmlHttpRequest对象
ajax的特点:异步加载,局部刷新。
ajax的特点:异步加载,局部刷新---页面加载快一些,用户体验好一些
同步:一次一个,前面的代码没有执行完成,后面的就排队等,不能开始
异步:一次一堆,前面一个没有完成,后面的也能开始。
ajax的缺点:异步加载,局部刷新----没有后退的功能
【凡是用到ajax从服务器获取数据,不能使用文件协议,遵循的是http协议】
ajax的优点:页面局部刷新,提高用户体验。
1.创建xmlHttpRequest对象---->用户与服务器交换数据
var xhr = new XMLHttpRequest();
2. 规定请求的类型(get post),请求的url地址,是否异步(bool),默认就是异步
xhr.open('get', 'test.html');
3. 发送请求到服务器
xhr.send();
4. 等待响应,因为不知道什么时候响应成功,所以通过事件的机制去触发响应
xhr.onreadystatechange = function () {
console.log(this.readyState);
【判断响应是否成功,readyState==4 并且 status==200】
if(this.readyState==4 && this.status==200){
【响应就绪,就可以获取到响应后的数据】
console.log(this.responseText);【获取响应的文本,是一个字符串的格式】
document.querySelector("#dv").innerHTML=this.responseText;
}
}
get请求: 序列化:将字符串格式转换为json格式的数据 JSON.parse()
反序列化:将json格式的数据转换为字符串格式的数据 JSON.stringify();
将响应的字符串的数据转换为json对象格式的数据
【 什么情况下用什么请求:
get请求:用于从服务器获取数据,参数的传递都是通过url地址中的?后面传递的
post请求:一般是业务数据,表单提交,用户名登录,post获取数据
】
load():load:载入远程 HTML 文件代码并插入至 DOM 中。
load()的使用:$(对象).load('url路径',{属性:属性值},成功的回调函数(response,status))
直接将响应的文本添加到$(对象)中。