Ajax 异步 XMLHttpRequest
1.GET方式
1.1设置参数
xhr.open("GET", "GetAreasByAjax.ashx?isAjax=1", true);
1.2GET方式请求可以设置浏览器不使用缓存xhr.setRequestHeader("If-Modified-Since", "0");
1.3发送: xhr.send(null);//GET方式
2.POST方式: 1.1设置参数:xhr.open("POST", "GetAreasByAjax.aspx", true); 1.2添加请求头:xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
1.3发送:xhr.send("isAjax=1&na=123");//POST方式
异步使用XMLHttpRequest对象
异步使用XMLHttpRequest对象时,必须使用:onreadystatechange事件。
使用模式应该是:
创建该对象;-new
设置readystatechange事件触发一个回调函数; -onreadystatechagne
打开请求;-open
发送请求;-send
注:在回调函数中检查readyState属性,看数据是否准备就绪(是否等于4)。
如果没有准备好,隔一段时间再次检查。因为数据没有下载完时,我们无法使用它的属性和方法。
如果已经准备好,就继续往下执行;
方法说明
abort取消请求
open需要使用多个参数,第一个设置方法属性,第二个设置目标URL,第三个指定是同步(false)还是异步(true)发送请求
send发送请求到服务器
setRequestHeader添加自定义HTTP头到请求
属性说明
onreadystatechange返回或设置异步请求的事件处理程序
readyState返回状态码:0:未初始化;1:打开;2:发送;3:正在接收;4:已加载
responseText使用字符串返回HTTP响应
responseXML使用XML DOM对象返回HTTP响应
status返回HTTP状态码
getAllResponseHeaders获取HTTP响应头的整个列表
getResponseHeader仅获取指定的HTTP响应头