AJAX概念

一、和HTTP的关系

和http协议关系密切,从请求到响应各步骤都可以体现。

二、五个状态

请求过程中,具有0到4五个状态,每个状态改变时都会触发onreadystatechange事件。

三、核心对象:XmlHttpRequest

各种方法模拟http协议通信过程,参数也与头信息格式很相似,以便读写所需的数据。

四、过程

1、创建XmlHttpRequest对象
2、设置请求方式、请求URL
3、发送请求
4、监听状态并即时处理(状态码判断sucess/error)

五、封装注意点

1、兼容性

IE中每次请求的URL必须是有变化的,才能保证接收到最新的请求资源。因此,可以在URL后面加上一段实时变化的字符串(请求主体),如日期、随机数;
IE6-不支持XmlHttpRequest对象,只支持ActiveXObject对象。

2、请求内容

GET方法:将内容字符串拼接到URL尾部,内容以参数形式,存在于open()。
POST方法:先在open()和send()之间加入setRequestHeader("application/x-www-form-urlencoded"),
内容以参数形式,存在于send()。
请求内容不能为中文,需要先用encodeURIConponent()作编码处理。

3、超时时间

设置超时时间,防止网络问题,让用户进行无用的等待。

4、基本参数

type, url, obj(请求内容), sucess, error, timeout

六、请求资源

请求的资源最终会保存在XmlHttpRequest对象的属性中,不同类型的资源会放在不同的属性上。

七、最佳传输格式

ajax的传输格式,最好是json格式,其他方面都用xml传输。

你可能感兴趣的:(AJAX概念)