-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Ajax:
async javascript and xml——异步的JS和XML
XML——可扩展的标记语言(在XML文件中使用的标签都是自己扩展的)
利用自己扩展的有规则的标记来存储相关的数据
<root>
<person>
<name>yang</name>
<age>12</age>
</person>
<person>
<name>fang</name>
<age>12</age>
</person>
</root>
Ajax——客户端JS中的方法,用来向服务器端发送请求(还可以传递给服务器端数据),然后把服务器端返回的内容获取到
(一般是运行在客户端的浏览器 中的)
Ajax四步:
var xhr = new XMLHttpRequest;
xhr.open("get", "/data.txt", false, [username], [userpass]);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && /^2\d{2}$/.test(xhr.status)) {
var val = xhr.responseText;
}
};
xhr.send();
1、创建一个AJAX对象(下面的这种写法在IE6及更低版本的浏览器中不支持)
var xhr = new XMLHttpRequest;
2、发送前的基本信息配置:
+
+ 配置请求方式(GET、POST、PUT、DELETE、HEAD。。。)
+ 打开一个URL地址(配置向哪一个服务器地址发送请求)
+ 同步还是异步(true代表异步。。。默认是异步)
+ [username]:向服务器提供请求的用户名
+ [userpass]:向服务器提供请求的用户密码
这两个值一般都不写,只有服务器做了安全的限制,只允许特定的用户访问的话,我们才传递过去
xhr.open("get", "/data.txt", false, [username], [userpass]);
3、给onreadystatechange这个事件绑定一个方法,监听状态的改变(只要状态改变,就会触发方法执行)
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && /^2\d{2}$/.test(xhr.status)) {
var val = xhr.responseText;
}
};
-
xhr.readyState:AJAX状态码,可以代表当前AJAX处理的进度0 UNSET——当前的请求还没有发送1 OPENED——URL地址已经打开(发送前的参数配置已经完成)2 HEADERS_RECEIVED——响应头信息已经接收3 LOADING——主要返回的内容正在服务器端进行准备处理4 DONE——响应主体的内容已经成功返回到客户端
-
xhr.status:HTTP网络状态码,描述了服务器响应内容的状态-
200 OR ^2\d{2}(200或者以2开头的)——都代表响应主体的内容已经成功返回了 -
301——永久重定向或者永久转移
-
302——临时重定向或者临时转移
-
304——本次获取的内容是读取缓存中的数据
-
400——客户端传递给服务器端的参数出现错误
-
401——无权限访问
-
404——客户端访问的地址不存在
-
500——未知的服务器错误
-
503——服务器已经超负荷 一台服务器能承受一万人,那么第一万零一个人访问,如果没有做服务器的负载均衡,它的电脑会出现503
-
4、发送请求:参数是请求主体中传递给服务器的内容
xhr.send(null);