Ajax获取数据流程:
第一步创建 XMLHttpRequest 对象
(解析:声明全局变量,然后用if...else做浏览器兼容的判断,为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject )
第二步向服务器发送请求
(解析:使用 XMLHttpRequest 对象的 open() 和 send() 方法将请求发送到服务器,下图是一个简单的post请求)
注释:
Open(method,url,async):
【规定请求的类型,url以及是否异步处理请求】
- method:规定请求的类型;GET或POST
- url:文件在服务器上的位置
- anync:ture(异步)或false(同步)
Send(string):
【将请求发送到服务器】
1.string:仅限于POST请求
用GET还是POST?
- GET相比于POST简单,快捷,大部分情况下到能用
- 无法使用缓存文件(更新服务器上的文件或数据库)用POST
- 向服务器发送大量请求数据(POST没有数据数量限制)用POST
- 发送包含未知字符的用户输入时。POST比GET更稳定,可靠
第三步服务器响应
(解析:在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。当 readyState 等于 4 且状态为 200 时,表示响应已就绪)
注释:
XMLHttpRequest 对象的三个重要的属性:
Onreadystatechage:存储函数(或函数名),每当readState属性改变时,就会调用该函数
readySate:存有XMLHttpRequeat的状态。从0到4发生变化.
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
Status:200:”ok”
404:未找到页面