1.Ajax对象创建
var xhr=new XMLHttpRequest();
2.Ajax向服务器发送请求
①创建一个新的HTTP请求
xhr.open("method","URL"[,asyncFlag[,"userName"[,"passord"]]]);
//method:POST,GET,PUT,PROPFIND
//URL:请求地址
//asyncFlagy:指定请求方式(同步为false,异步为true)
//userName:指定用户名
//password:指定密码
②发送请求到HTTP服务器并接收回应
xhr.send(content);
//content:指定要发送的数据
3.接收服务器返回的信息
①readyState属性
readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态。
readyState总共有5个状态值,分别为0~4,每个值代表了不同的含义
1 2 3 4 5 |
|
②onreadystatechange属性
用于感知readyState属性的状态改变。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var xhr=new XMLHttpRequest();
//感知Ajax状态的改变
xhr.onreadystatechange=function () {
//输出Ajax当前的状态值
console.log(xhr.readyState);
}
//创建一个新的HTTP请求
xhr.open("get","./index7.php");
//向服务器端发送新建的HTTP请求
xhr.send(null);
</script>
</body>
</html>
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/8/17
* Time: 9:29
*/
echo "test...";
③status属性
status是XMLHttpRequest对象的一个属性,表示响应的HTTP状态码
在HTTP1.1协议下,HTTP状态码总共可分为5大类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
④获取相应信息的相关属性
responseText responseBody responseXML | 将响应信息作为字符串返回 将响应信息正文以unsigned byte数组形式返回,只读 将响应信息格式化为XML Document对象并返回,只读 |
4.Ajax:readyState(状态值)和status(状态码)的区别
readyState,是指运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤,使用“ajax.readyState”获得
status,是指无论AJAX访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码,使用“ajax.status”获得
总体理解:可以简单的理解为state代表一个整体的状态。而status是这个大的state下面具体的小的状态。