l AJAX的优点:
1、 最大的一点是页面没有刷新,在页面内与服务器通讯,给用户的体验非常好。
2、 使用异步的方式与服务器通讯,不需要打断用户的操作,具有更加速度的响应能力。
3、 可以把以前一些服务器负担的工作转嫁给客户端,利用客户端闲置的能力来处理,减轻服务器与带宽的负担,节约空间和宽带租用成本,并且减轻服务器的负担,AJAX的原理是“按需取数据”,可以最大程度的减少冗余的请求,和响应对服务器造成的负担
4、 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
AJAX的缺点:
1、 AJAX干掉了浏览器的back按钮,对浏览器的后退机制的破坏
2、 安全问题,ajax技术就如同对企业数据建立了一个直接通道,暴露出请求的接口的数据。
3、 对搜索引擎的支持不友好
4、 破坏了程序的异常机制,如果程序抛异常,对调试带来不方便。
l AKAX属性:
1、 readyState:只读,返回的是short类型
作用:标识着XMLHttpRequest对象的当前状态
0====》未初始化
1====》open方法已经被调用
2====》send方法已经调用了
3====》接收到了响应消息头,但没有接收到中文
4====》接收到了响应正文。
2、 response:只读的,返回的是String
作用:接收服务器返回的文本类型的正文数据
3、 response:只读的,返回的是Document对象(js中文档模型)
作用:接收服务器返回的XML类型的正文数据
4、 status:只读的,返回的是short类型
作用:接收服务器返回的响应状态码
5、 statusText :只读的,返回类型String
作用:接收服务器返回的状态码描述
l AJAX方法:
1、 getAllResponseHeader():返回所有的响应消息头,返回String
2、 getResponseHeader(headerName):返回指定头的值,是一个String字符串
3、 open(String method,stringurl,Boolean async):建立与服务器的链接
a) method:请求方式(GET/POST)
b) url:请求服务器的地址
c) async:是否是异步,true表示异步 false表示同步,默认是true
4、 send(String data)发出请求,data参数是请求正文的内容数据
5、 setRequestHeader(String Headername,StringheaderValue)设置请求消息头
l AJAX事件处理器:
1、 onreadystatechange:指向一个函数,用于做事件处理。
XMLHttpRequest对象的readyState的每次变化都会触发onreadystatechange指向的事件处理器。
l AJAX的编码步骤