AJAX
1 .ajax的作用
js基础学习结束之后,我们肯定避不开的就是前后端交互,而AJAX就是js和服务器交互的手段。Ajax就是在浏览器不重新加载网页的情况下,对页面的某部分进行更新
2 .ajax简介
ajax (async javascript and XML(异步JavaScript和XML)),是前后太交互的能力,也就是我们给服务器发送消息以及接受响应的工具
ajax并不是新的编程语言,而是使用现有的一种方法
ajax在使用的时候不需要任何插件,我们可以直接使用原生js就可以,jQuery也提供的简单请求操作
同步和异步
在请求数据阶段,我们就要有同步请求和异步请求的概念
同步请求
同步请求是指当前发出请求后,浏览器什么都不能做,
必须得等到请求完成返回数据之后,才会执行后续的代码,
相当于生活中的排队,必须等待前一个人完成自己的事物,后一个人才能接着办。
也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态,
当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态
简单来说就是 上一个任务结束之后下一个任务开始,比如我们常见的alert弹窗
异步请求
默认异步:异步请求就当发出请求的同时,浏览器可以继续做任何事,
Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。
一般默认值为true,异步。异步请求可以完全不影响用户的体验效果,
无论请求的时间长或者短,用户都在专心的操作页面的其他内容,并不会有等待的感觉。
简单来说就是 多个任务按顺序开始执行,但是不一定按照顺序结束
AJAX 的使用
原生js
创建:var xhr = new XMLHttpRequest()
配置:xhr.open(请求方式,请求地址,是否异步)
请求方式:‘get’,‘post’
两者的区别:
1 语义化的区别:get偏向于获取,post偏向于提交数据
2 携带给后端的信息位置不一样
get直接在地址后面拼接查询字符串
post在请求体内进行信息的查询
3 携带的数据格式不一样
get:因为携带的数据是直接拼接在地址后面,只能使用url编码
post:因为在请求体内,所以可有多种形式,但是需要提前说明
4 携带的数据大小不一样
get:因为拼接在地址后面,大小在2kb左右
post:因为在请求体内,数据大小不受限制,除非服务器有显示
5 安全性能
get:明文发送,不安全
post:相对安全
6 浏览器缓存
get: 浏览器会主动缓存
post:浏览器不会主动缓存请求地址:URL
这个URL是我们请求数据的地址。
是否异步:false true
默认值为 false 同步
true 异步响应
xhr.onreadystatechange = function(){
(xhr.readyState === 4)//这个值必须等于4的时候才可以完成响应
xhr.responseText//这里可以拿到数据
}发送
xhr.send()
jQuery 方法请求(我们可以使用jQuery提供的一系列方法来完成数据请求)
- $.ajax({
type: ‘get’/‘post’,
url:’ ',
success:function(res){
cb(res)//请求成功之后执行一个回调参数,在之后使用
}
error:function(res){
cb(res)//请求失败之后执行一个回调函数
}
})