AJAX 如何工作
- 浏览器网页中发生一个事件(页面加载,按钮点击)
- 由javaScript创建XMLHttpRequest对象
new XMLHttpRequest()
- XMLHttpRequest对象向web服务器发送请求
- 服务器处理该请求
- 服务器将响应得数据或者信息发送回网页
- 由JavaScript读取响应
- 由javaScript执行争取得动作(例如更新页面等)

AJAX - XMLHttpRequest 对象
创建XMLHttpRequest对象
var xhhtp
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest()
} else {
xhttp = new ActiveXobject('Microsft.XMLHTTP')
}
跨域访问
出于安全原因,现代浏览器不允许跨域访问。
这意味着尝试加载的网页和 XML 文件都必须位于相同服务器上。
XMLHttpRequest 对象方法
| 方法 | 描述 |
|---|
| new XMLHttpRequest() | 创建新的XMLHttpRequest()对象 | 。 |
| abort() | 取消当前请求 |
| getAllResponseHeaderts() | 返回头部信息 |
| getResponseHeader() | 返回特定得头部信息 |
| open(method,url,async,user,psw) | 规定请求:method: 请求类型GET或POST, url: 接口地址或文件位置,async: true (异步)或false(同步), user: 可选得用户名, psw: 可选得密码 |
| send() | 将请求发送到服务器,用于GET请求 |
| send(string) | 将请求发送到服务器,用于POST请求 |
| setRequestHeader() | 向要发送得报头添加标签/键值对 |
XMLHttpRequest 对象属性
| 属性 | 描述 |
|---|
| onreadstatechange | 定义readyState属性发生变化时被调用得函数 |
| readyState | 保存XMLHttpRequest的状态=》 0:请求未初始化,1:服务器连接已建立,2:请求已收到,3:正在处理请求, 4: 请求已完成且响应已就绪 |
| responseText | 以字符串响应数据 |
| responseXML | 以XML数据返回响应数据 |
| status | 返回请求的状态号:200:'OK', 403: 禁止访问,404:没有发现 |
| statusText | 返回状态文本 |