XMLHttpRequest 对象

1.XMLHttpRequest 对象:它可以异步从服务器端获取txt或者xml数据 json

·创建对象:var request=new XMLHttpRequest();

ie低版本:=new ActiveXObject("Mircosoft.XMLHTTP");

·初始化request.open("get","处理程序URL",true):url不能包含中文;true异步、false同步

 encodeURIComponent("中文"),url中的参数(中文,其他)需要编码

·注册事件,回调函数request.onreadystatechange=function();

在回调函数中接收if(readyState==4)  request.responseText;

·发送请求request.send();

readyState属性:指出了XMLHttpRequest对象在发送/接收数据过程中所处的几个状态。

0:未初始化。new完后还没有open

1:已打开。对象已经创建并初始化,但还未调用send方法

2:已发送。已经调用send 方法,但该对象正在等待状态码和头的返回;

3:正在接收。已经接收了部分数据,但还不能使用该对象的属性和方法,因为状态和响应头不完整;

4:已加载。所有数据接收完毕

方法:

abort 取消请求

open 需要使用多个参数,第一个设置方法属性,第二个设置目标URL,第三个指定是同步(false)还是异步(true)发送请求

send  发送请求到服务器

setRequestHeader        添加自定义HTTP头到请求

getAllResponseHeaders        获取HTTP响应头的整个列表

getResponseHeader      仅获取指定的HTTP响应头

属性:

Onreadystatechange(事件)    返回或设置异步请求的事件处理程序

readyState  返回状态码:0:未初始化;1:打开;2:发送;3:正在接收;4:已加载

responseText       使用字符串返回HTTP响应

responseXML    使用XML DOM对象返回HTTP响应

status         返回HTTP状态码

ajax get请求要注意的问题

1区分大小写

2请求路径中不能有中文

3 url传参数:有中文或者特殊符号,要进行url编码encodeURIComponent();QueryString会自动解码

4判断服务器是否有异常   readyState 是XMLHttpRequest的状态(0-5)  status 是http的状态 状态码

5解决每次get请求的时候读取缓存问题 

.meta设置

<meta http-equiv="pragram" content="no-cache"> 禁止浏览器从本地缓存中调阅页面。网页不保存在缓存中,每次访问都刷新页面。
<meta http-equiv="cache-control" content="no-cache, must-revalidate"> 重新加载页面
<meta http-equiv="expires" content="0"> 网页在缓存中的过期时间为0,一旦网页过期,必须从服务器上重新订阅。

·url参数中加随机数 

·请求头中加request.setRequestHeader("If-Modified-Since", "0");注意要在open之后加。

原文地址:https://www.cnblogs.com/qlbk/p/3101939.html