Ajax是什么?
ajax主要是用来实现客户端和服务端异步通信的效果,实现页面的局部刷新,ajax原生方式主要是通过XMLHttpRequest,ActiveObject(IE)对象来实现异步通信效果
ajax的优势在哪儿?
1.不需要插件的支持,可以直接被大多数主流的浏览器支持
2.提高web程序性能:传统模式是通过form表单,数据获取是通过页面刷新获取整页内容,ajax可以通过XMLHttpRequest对象向服务器请求数据;
3.提高了用户体验 4.无须刷新页面即可获取数据
Ajax的应用场景
用户登录注册,检测用户数据是否重复
做城市选择,用到二级联动或者三级甚至更高时,可以使用Ajax;
如何创建Ajax?
1.创建一个对象,let xhr=null,创建一个请求:XMLHttpRequest,ActiveObject();
2.使用open方法初始化请求:xhr.open('get','地址') 他第一个参数是请求数据的方式,第二个参数是请求的url地址
3.设置header头 ajax跨域不能设置header头:xhr.setRequestHeader()设置http头信息;
4.设置回调函数:xhr.onreadystatechange = function(){};
5.通过send()发送请求
jq方式:通过$ajax({-
url:'地址',type:'get'请求方式,async: true,是否为异步,dataType:'json'数据的类型,success:(res)=>{成功之后的业务逻辑},error:(error)=>{失败之后}
})
XMLHttpRequest对象的常用方法和属性
方法:open()初始化 send()发送请求 setRequestHeader 设置请求头
属性:onreadystatechange:用于指定状态改变时触发的事件处理器 readyState:获取请求状态
responseText 获取服务端响应内容 status:http状态码
常见的http状态码
200:请求成功 301请求资源移动到新的url地址 403客户端请求无权限,服务器拒绝请求 404找不到文件
500服务内部错误,一般是服务端代码有问题 502网关错误,服务端返回无效响应 503服务器性能问题导致,无法处理客户端请求