Ajax学习
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
// 创建XMLHttpRequest对象
if (windows.ActiveXObject) {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else if (windows.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
XMLHttpRequest.open(传递方式(post,get),地址,是否异步请求(true)); //代开请求
XMLHttpRequest.onreadystatechange; //准备状态执行
XMLHttpRequest.responseText; //获取执行结果
XMLHttpRequest.readyState == status(0,1,2,3,4); //本地执行状态
/*
0:请求未初始化,还没有调用 open()。
1:请求已经建立,但是还没有发送,还没有调用 send()。
2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。
4:响应已完成;您可以获取并使用服务器的响应了。
*/
XMLHttpRequest.status == status(200,300,404...); //服务器端执行状态
/*
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——成功
201——提示知道新文件的URL
300——请求的资源可在多处得到
301——删除请求数据
404——没有发现文件、查询或URl
500——服务器产生内部错误
*/
// 示例
function func() {
if (windows.ActiveXObject) {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else if (windows.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}//创建对象
xmlHttp.open("get", "test.php?id=1", true);//打开连接
xmlHttp.onreadystatechange = execfunc;//状态改变时触发函数
xmlHttp.send(null);//发送信息
}
function execfunc() {
var res = xmlHttp.responseText;//获得执行结果
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
alert(res);
}
}
}