Ajax
使用Ajax,可以无刷新状态更新页面,并且实现异步提交,提升了用户体验。
Ajax实质是利用浏览器提供的一个特殊的对象(XMLHttpRequest)异步的向服务器发送请求。
服务器返回部分数据,浏览器让你去利用这些数据对页面做部分的更新,整个过程中,页面没有刷新,不会打断用户的操作。
创建XMLHttpRequest对象
XMLHttpRequest对象:发送请求到服务器并获取返回结果。
所有现代浏览器都内建了XMLHttpRequest对象,通过一行简单的JavaScript代码,就可以创建XMLHttpRequest对象。
var xmlhttp = new XMLHttpRequest();
XMLHttpRequest
JavaScript对象XMLHttpRequest是整个Ajax技术的核心.它提供了异步发送请求的能力.
常用方法
open(method,URL,async);
<!-- 建立与服务器的连接
method参数指定请求的HTTP方法,典型的值是GET和POST
URL参数指定请求的地址
async参数指定是否使用异步请求,其值为true或false
-->
send(content)
<!-- 发送请求
contend参数指定请求的参数
-->
setRequestHeader(header,value)
<!-- 请求头的信息 -->
常用属性
onreadystatechange:事件,指定回调函数.
readystate:XMLHttpRequest的状态信息.
就绪状态码---------------说明
- 0-----XMLHttpRequest对象没有完成初始化
- 1-----XMLHttpRequest对象开始发送请求
- 2-----XMLHttpRequest对象的请求发送完成
- 3-----XMLHttpRequest对象开始读取响应,还没有结束
- 4-----XMLHttpRequest对象读取响应结束
status:HTTP的状态码.
状态码----------说明
- 200-----服务器响应正常
- 400-----无法找到请求的资源
- 403-----没有访问权限
- 404-----访问的资源不存在
- 500-----服务器内部错误
responseText:获取响应的文本内容.
GET方式/POST方式
GET方式提交:
xmlhttp.open("get","check?account="+account,true);
xmlhttp.send(null);
POST方式提交:
xmlhttp.open("post","check",true);
<!-- 注:post提交方式需要自己设置http的请求头. -->
xmlhttp.senRequestHeader("Content-Type","application/x-www-from-urlencoded");
xmlhttp.send("account="+account);