Ajax:async javascript and xml 异步的JS和XML
-> 客户端JS中的方法,用来向服务器端发送请求(还可以传递给服务器端数据),然后把服务器端返回的内容获取到(ajax一般是运行在客户端的浏览器中的)
Ajax四步:
创建一个AJAX对象(下面的这种写法在IE6及更低版本的浏览器中不支持)
-> var xhr = new XMLHttpRequest;
发送前的基本信息的配置:get:配置请求的方式,url:打开一个url地址(配置向服务器端地址发送请求),false:同步请求,true:异步请求,默认是true;[username]向服务器提供请求的用户名;[userpass]:向服务器提供请求的用户密码;后面两个值一般都不写,只有服务器做了安全的限制,只允许特定的用户访问的话,我们才需要传递
-> xhr.open("get",url,false,[username],[userpass])
给onreadystatechange事件绑定一个方法,监听状态的改变(只要状态改变,就会触发此方法的执行)
-> xhr.onreadystatechange = function(){
0 UNSENT:当前的请求还没有发送
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 -> 服务器已经超负荷
if(xhr.readyState === 4 && /^2\d{2}$/.test(xhr.status)){
var val = xhr.responseText;
}
}
发送请求:参数是请求主体中传递给服务器的内容
-> xhr.send(null);
xml:可扩展的标记语言(在XNL文件中使用的标签都是自己扩展的)
-> 利用自己扩展的有规则的标记来存储相关的数据