XMLHttpRequest对象简介

XMLHttpRequest对象是异步请求对象,是js中的一种对象,对象的创建是使用js代码完成的。在局部刷新,需要创建一个XMLHttpRequest对象,这个对象存在内存中,代替浏览器发起请求并接收响应数据,一个浏览器可以创建多个异步对象,一般一个异步对象对应一个用户请求。全局刷新是同步行为, 局部刷新是异步(浏览器数据没有全部更新),异步对象用于在后台与服务器交换数据,当今各大主流的浏览器都支持异步对象。XMLHttpRequest 对象能够:
• 在不重新加载页面的情况下更新网页
• 在页面已加载后向服务器请求数据
• 在页面已加载后从服务器接收数据
可以使用new关键字创建一个XMLHttpRequest对象,如:var x=new XMLHttpRequest();

XMLHttpRequest对象的方法

(1)open(method, url, async, user, psw):规定请求的一些参数;
参数解释:
method:规定请求类似是GET还是POST;
url:规定访问的服务端的地址;
async:规定是同步请求(false)还是异步请求(true);
user:用户名称,该参数为非必需参数;
psw:密码,该参数为非必须参数;
(2)send()方法:使用异步对象发送请求到服务器;

XMLHttpRequest对象的属性

XMLHttpRequest对象有几种常用的属性:
(1)readyState属性:用来保存XMLHttpRequest对象的请求状态的;
0:表示XMLHttpRequest对象被创建;
1:表示初始异步对象的请求参数, 执行了open()方法,即服务器连接已经建立;
2:服务端已经收到了请求,使用了send()方法向服务端发送了请求;
3:异步对象从服务器接收了数据,请求正在处理;
4:异步对象接收了数据,并在异步对象内部处理完成,即请求已完成且响应已就绪;
(2)status属性:用来保存网络的状态,和HTTP的状态码对应;
200:请求成功
404: 服务器没有找到请求的资源
500: 服务器内部代码有错误
(3) responseText属性:用来表示服务器端返回的数据,以字符串返回响应数据;

XMLHttpRequest对象的使用步骤

  1. //1.创建异步对象
  2. let xmlHttp = new XMLHttpRequest();
  3. //2.绑定事件
  4. xmlHttp.onreadystatechange = function () {
  5. if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {
  6. let data = xmlHttp.responseText;
  7. //给dom对象赋值
  8. }
  9. }
  10. //3.初始请求参数
  11. let name = document.getElementById("name").value;
  12. let height = document.getElementById("height").value;
  13. let weight = document.getElementById("weight").value;
  14. xmlHttp.open("get", "BmiServlet?name=" + name + "&height=" + height + "&weight=" + weight, true);
  15. //4.发起请求
  16. xmlHttp.send();