AJAX : asynchronous javascript and extensible markup language
可以使用XML、纯文本或JSON文本格式传输数据
AJAX实现过程:
1、浏览器创建XMLHttpRequest对象,发送请求
2、服务器接收处理请求,将请求的数据响应给浏览器
3、浏览器使用js处理请求返回的数据,更新页面
XMLHttpRequest对象
对象方法:
new XMLHttpRequest()abort() 取消请求
getAllResponseHeaders() 返回所有头部信息
getResponseHeader() 返回特性头部信息
open(method,url,async,user,psw) 规定请求的方法、地址、是否异步、用户名、密码
send() 用于get发送请求
send(string) 用于post发送请求
setRequestHeader() 设置请求头
对象属性:
onreadystatechange 一个绑定在XMLHttpResquest对象上的函数,当readystate发生变化时触发的函数readyState 请求过程的状态值
- 0 请求未初始化
- 1 服务器连接已建立
- 2 请求已收到
- 3 正在处理请求
- 4 请求已完成且响应已就绪
responseText 以字符串返回请求数据
responseXML 以XML格式返回请求数据
status 返回请求结果的状态值
- 200 成功
- 403 页面禁止访问
- 404 找不到被请求的页面
statusText 返回请求结果状态的文本 如 OK NotFound
应支持在open() 参数中将async设置成true,因为同步请求将一直等待服务器响应数据,此时会造成程序挂起或停止
readyState表示请求过程的状态值(0-4),整个请求过程会改变5次,同时会触发五次onreadystatechange定义的函数
XMLHttpRequest.getAllResponseHeaders() 获取服务器返回的所有头部信息,包括长度 服务器类型 内容类型 最后修改等信息
AJAX可以对php,asp,数据库.asp文件发起请求,进行交互式通信