(1)创建AJAX核心对象。
var xhr = new XMLHttpRequest();
(2)注册回调函数。
xhr.onreadystatechange = function(){
//readystate属性改变时执行的函数,在0->1、1->2、2->3、3->4都会执行,选择下列语句执行相应代码
if(this.readyState == 1){
}
if(this.readyState == 2){
}
if(this.readyState == 3){
}
if(this.readyState == 4){//主要
}
}
(3)开启通道。
xhr.open("GET", "/ajax/ajaxrequest2", true)
(4)发送请求。
xhr.send()
var xhr = new XMLHttpRequest();
方法 | 描述 |
---|---|
abort() | 取消当前请求 |
getAllResponseHeaders() | 返回头部信息 |
getResponseHeader() | 返回特定的头部信息 |
open(method, url, async, user, psw) | 规定请求method:请求类型 GET 或 POST url:文件位置 async:true(异步)或 false(同步) user:可选的用户名称 psw:可选的密码 |
send() | 将请求发送到服务器,用于 GET 请求 |
send(string) | 将请求发送到服务器,用于 POST 请求 |
setRequestHeader() | 向要发送的报头添加标签/值对 |
XMLHttpRequest对象.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded”); | ajax模拟表单提交,使用post请求时必须加这一行,不然数据无法发送,且必须在open语句之后 |
属性 | 描述 |
---|---|
onreadystatechange | 定义当 readyState 属性发生变化时被调用的函数 |
readyState | 保存 XMLHttpRequest 的状态,不同阶段(连接、请求、处理、响应)状态不同。0:请求未初始化 1:服务器连接已建立 2:请求已收到 3:正在处理请求 4:请求已完成且响应已就绪,表示该ajax请求和响应已经全部完成 |
responseText | 返回响应数据。不管服务器返回的是什么,都以字符串的形式获取 |
responseXML | 以 XML 数据返回响应数据 |
status | 返回请求的状态号200: "OK"403: "Forbidden"404: “Not Found” |
statusText | 返回状态文本(比如 “OK” 或 “Not Found”) |