Ajax使用XMLHttpRequest异步发送请求,XMLHttpRequest不要求重新加载整个页面,动态加载数据,实现局部刷新页面。
Ajax应用工作过程:1.javascript脚本使用XMLHttpRequest对象向服务器发请求,get或post。
2.使用XMLHttpRequest对象解析服务器响应数据;
3.创建回调函数,回调函数通过DOM动态更新页面。
Ajax发送请求步骤 1.创建XMLHttpRequest对象;
2.使用open()方法连接服务器URL;
3.设置请求头部,设置回调函数等信息;
4.调用send()方法发送请求。
XMLHttpRequest 对象
abort()
取消当前响应,关闭连接并且结束任何未决的网络活动。
这个方法把 XMLHttpRequest 对象重置为 readyState 为 0 的状态,并且取消所有未决的网络活动。例如,如果请求用了太长时间,而且响应不再必要的时候,可以调用这个方法。
getAllResponseHeaders()
把 HTTP 响应头部作为未解析的字符串返回。
如果 readyState 小于 3,这个方法返回 null。否则,它返回服务器发送的所有 HTTP 响应的头部。头部作为单个的字符串返回,一行一个头部。每行用换行符 "\r\n" 隔开。
getResponseHeader()
返回指定的 HTTP 响应头部的值。其参数是要返回的 HTTP 响应头部的名称。可以使用任何大小写来制定这个头部名字,和响应头部的比较是不区分大小写的。
该方法的返回值是指定的 HTTP 响应头部的值,如果没有接收到这个头部或者 readyState 小于 3 则为空字符串。如果接收到多个有指定名称的头部,这个头部的值被连接起来并返回,使用逗号和空格分隔开各个头部的值。
open(method,URL,true)
初始化 HTTP 请求参数,method-请求方式,URL-请求路径,true-是否为异步请求
send(data)
发送 HTTP 请求,使用传递给 open() 方法的参数,以及传递给该方法的可选请求体。data-请求参数
setRequestHeader("label","value")
发送请求之前先设置请求头部
readyState
获取处理状态
0 还未开始发送请求
1 开始发送请求
2 请求发送完成
3 开始读取服务器响应
4 服务器响应结束
responseType 设置服务器返回的响应类型
response 获取服务器响应
responseText
目前为止为服务器接收到的响应体(不包括头部),或者如果还没有接收到数据的话,就是空字符串。
如果 readyState 小于 3,这个属性就是一个空字符串。当 readyState 为 3,这个属性返回目前已经接收的响应部分。如果 readyState 为 4,这个属性保存了完整的响应体。
如果响应包含了为响应体指定字符编码的头部,就使用该编码。否则,假定使用 Unicode UTF-8。
responseXML
获取返回的XML
status
由服务器返回的状态,如 200 表示成功,而 404 表示 "Not Found" 错误。当 readyState 小于 3 的时候读取这一属性会导致一个异常。
statusText
这个属性用名称而不是数字指定了请求的 HTTP 的状态代码。也就是说,当状态为 200 的时候它是 "OK",当状态为 404 的时候它是 "Not Found"。和 status 属性一样,当 readyState 小于 3 的时候读取这一属性会导致一个异常。
onreadystatechange
每次 readyState 属性改变的时候调用的事件句柄函数
timeout:发送请求超时,以ms为单位
upload 返回上传进度
ontimeout 设置超时后触发的响应