Ajax是一种支持异步请求的技术。简而言之JavaScript向服务器提出请求并处理响应,而不阻塞用户 。
XmlHttpRequest是Ajax的核心,可以在不想服务器提交整个页面的前提下实现局部刷新。
XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的 文本文档 。
var xmlHttp;
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
//初始化 HTTP 请求参数,例如 URL 和 HTTP 方法,但是并不发送请求,async同步方式还是异步方式发送请求 (async=true表示异步,否则表示同步)
xmlHttp.open("post","TravelMsgAction.action?class=web",true);
xmlHttp.send(); //将请求发送到服务器
xmlHttp.onreadystatechange=function(){
if(xmlHttp.status==200&&xmlHttp.readyState==4){
var result=xmlHttp.responseText; //获取成功后的返回值
if("success"==result)
alert("加入成功");
$('#Msglog').dialog('close');
}
}
}
注:
onreadystatechange
每当 readyState 属性改变时,就会调用该函数
readyState
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status
200: "OK"
404: 未找到页面
responseText
从服务器接收到的数据(不包括头部)(解析一个字符串)
responseXML
从服务器接收到的数据(不包括头部)(解析为 XML 并作为 Document 对象返回)。