1. 作用
- 不刷新页面更新网页
- 在页面加载后从服务器请求和接收数据
- 在后台向服务器发送数据
2. 工作流程
3. XMLHttpRequest对象
(1)方法
new XMLHttpRequest() 创建新的 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(header, value) 向要发送的报头添加标签/值对
向请求添加 HTTP 头部
- header:规定头部名称
- value:规定头部值
(2) 属性
onreadystatechange 定义当 readyState 属性发生变化时被调用的函数 readyState 保存 XMLHttpRequest 的状态。
- 0:请求未初始化
- 1:服务器连接已建立
- 2:请求已收到
- 3:正在处理请求
- 4:请求已完成且响应已就绪
responseText 以字符串返回响应数据 responseXML 以 XML 数据返回响应数据 status 返回请求的状态号
- 200: "OK"
- 403: "Forbidden"
- 404: "Not Found"
statusText 返回状态文本(比如 "OK" 或 "Not Found")
4. 代码
//创建XMLHttpRequest对象
var xhttp = new XMLHttpRequest();
//定义当请求接收到应答时所执行的函数
xhttp.onreadystatechange = function(){
//通过请求状态与状态号判断是否请求成功
if (this.readyState == 4 && this.status == 200){
//返回响应数据
return this.requestText();
}
};
//规定请求方式
xhttp.open("GET","url",true);
//将请求发送到服务器
xhttp.send();