Ajax @ Littlechai | 2021-09-11T12:53:18+08:00 | 1 分钟阅读 | 更新于 2021-09-11T12:53:18+08:00

Ajax

创建XMLHttpRequest对象

1
2
3
4
5
6
7
8
let xttp;
if(window.XMLHttpRequest) {
    xttp = new XMLHttpRequest();

} else {
    //code for IE 5 & 6
    xttp = new ActiveXObject("Microsoft.XMLHTTP");
}

XMLHttpRequest对象方法

方法 描述
new XMLHttpRequest() 创建新的 XMLHttpRequest 对象
abort() 取消当前请求
getAllResponseHeaders() 返回头部信息
getResponseHeader() 返回特定的头部信息
open(method, url, async, user, psw) 规定请求method:请求类型 GET 或 POSTurl:文件位置async:true(异步)或 false(同步)user:可选的用户名称psw:可选的密码
send() 将请求发送到服务器,用于 GET 请求
send(string) 将请求发送到服务器,用于 POST 请求

XMLHttpRequest 对象属性

属性 描述
onreadystatechange 定义当 readyState 属性发生变化时被调用的函数
readyState 保存 XMLHttpRequest 的状态。0:请求未初始化1:服务器连接已建立2:请求已收到3:正在处理请求4:请求已完成且响应已就绪
responseText 以字符串返回响应数据
responseXML 以 XML 数据返回响应数据
status 返回请求的状态号200: “OK"403: “Forbidden"404: “Not Found"如需完整列表请访问 Http 消息参考手册
statusText 返回状态文本(比如 “OK” 或 “Not Found”)

当readyState为4,status为200时,响应就绪

使用回调函数

以此封装请求操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
function loadDoc(url, cFunction) {
  var xhttp;
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      cFunction(this);
    }
  };
  xhttp.open("GET", url, true);
  xhttp.send();
}

© 2021 - 2022 小柴Yeah

Powered by Hugo with theme Dream.

avatar

小柴YeahThe time is no time, when it is past