原生ajax
Ajax的核心是XMLHttpRequest对象(XHR)。XHR为向服务器发送请求和解析服务器响应提供了接口。能够以异步方式从服务器获取新数据。
一、XMLHttpRequest对象
Ajax的核心是XMLHttpRequest对象(XHR)。XHR为向服务器发送请求和解析服务器响应提供了接口。能够以异步方式从服务器获取新数据。
XHR的主要方法有:
- void open(String method,String url,Boolen async)
用于创建请求
参数:
method: 请求方式(字符串类型),如:POST、GET、DELETE…
url: 要请求的地址(字符串类型)
async: 是否异步(布尔类型) - void send(String body)
用于发送请求
参数:
body: 要发送的数据(字符串类型) - void setRequestHeader(String header,String value)
用于设置请求头
参数:
header: 请求头的key(字符串类型)
vlaue: 请求头的value(字符串类型) - String getAllResponseHeaders()
获取所有响应头
返回值:
响应头数据(字符串类型) - String getResponseHeader(String header)
获取响应头中指定header的值
参数:
header: 响应头的key(字符串类型)
返回值:
响应头中指定的header对应的值 - void abort()
- void open(String method,String url,Boolen async)
用于创建请求
参数:
method: 请求方式(字符串类型),如:POST、GET、DELETE…
url: 要请求的地址(字符串类型)
async: 是否异步(布尔类型) - void send(String body)
用于发送请求
参数:
body: 要发送的数据(字符串类型) - void setRequestHeader(String header,String value)
用于设置请求头
参数:
header: 请求头的key(字符串类型)
vlaue: 请求头的value(字符串类型) - String getAllResponseHeaders()
获取所有响应头
返回值:
响应头数据(字符串类型) - String getResponseHeader(String header)
获取响应头中指定header的值
参数:
header: 响应头的key(字符串类型)
返回值:
响应头中指定的header对应的值 - void abort()
终止请求
XHR的主要属性有:
- Number readyState
状态值(整数),可以确定请求/响应过程的当前活动阶段 •0:未初始化。未调用open()方法
•1:启动。已经调用open()方法,未调用send()方法
•2:发送。已经调用send()方法,未接收到响应
•3:接收。已经接收到部分数据
•4:完成。已经接收到全部数据,可以在客户端使用 - Function onreadystatechange
当readyState的值改变时自动触发执行其对应的函数(回调函数) - String responseText
作为响应主体被返回的文本(字符串类型) - XmlDocument responseXML
服务器返回的数据(Xml对象) - Number states
状态码(整数),如:200、404… 6. String statesText
状态文本(字符串),如:OK、NotFound… - Number readyState
状态值(整数),可以确定请求/响应过程的当前活动阶段 •0:未初始化。未调用open()方法
•1:启动。已经调用open()方法,未调用send()方法
•2:发送。已经调用send()方法,未接收到响应
•3:接收。已经接收到部分数据
•4:完成。已经接收到全部数据,可以在客户端使用 - Function onreadystatechange
当readyState的值改变时自动触发执行其对应的函数(回调函数) - String responseText
作为响应主体被返回的文本(字符串类型) - XmlDocument responseXML
服务器返回的数据(Xml对象) - Number states
状态码(整数),如:200、404… 6. String statesText
状态文本(字符串),如:OK、NotFound…
二、get请求
GET用于向服务器查询某些信息:
XMLHttpRequest - Ajax请求
三、post请求POST请求用于向服务器发送应该被保存的数据。POST请求的主体可以包含非常多的数据,而且格式不限。