Ajax是什么
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术
接下来介绍Ajax发送异步请求需要了解的几点知识:
1. 获取XMLHttpRequest对象
var xmlHttp
;
function createXMLHttpRequest() {
if (window
.XMLHttpRequest
) {
xmlHttp
= new XMLHttpRequest();
}
else if (window
.ActiveXObject
) {
xmlHttp
= new ActiveXObject("Microsoft.XMLHTTP");
}
}
2. XMLHttpRequest常用方法
void open(String method, String url, boolean asynch, String username, String password)
method为请求方法,一般为GET或者POST,url为请求链接,asynch为异步设定,参省为true,表示发送异步请求。如果发送的是GET请求,可以在url参数中加上请求参数
void send(content)
在context里放XML、字符串、JSON格式的内容,放进去会放在POST本体中发送
void setRequestHeader(string header, string value)
设置头部信息
3.XMLHttpRequest常用属性
readyState
会有0到4的数值,分別表示不同的请求状态:
0 = 未初始化的连线(uninitialized),还没呼叫open()
1 = 载入中(loading),呼叫open(),还没呼叫send()
2 = 已载入(loaded),呼叫send(),请求header/status准备好
3 = 互动中(interactive),正在与服务器互动中
4 = 请求完成(completed),完成请求
onreadystatechange
参考至callback回调函数,readyState改变时,都会调用onreadystatechange设定的回调函数
responseText
服务器传来的请求回应文字,会设定给这个属性
responseXML
服务器传来的请求回应如果是XML,会变成DOM设定给这个属性
status
服务器回应的状态码,例如200是成功,404为NOT FOUND
statusText
服务器回应的状态文字
4. Ajax请求Demo
function startRequest() {
createXMLHttpRequest();
xmlHttp
.onreadystatechange
= handleStateChange
;
xmlHttp
.open("GET", "simpleResponse.txt");
xmlHttp
.send(null);
}
function handleStateChange() {
if (xmlHttp
.readyState
== 4) {
if (xmlHttp
.status
== 200) {
alert("服务器回应" + xmlHttp
.responseText
);
}
}
}