- ajax_func.js的代码如下
//
定义XMLHttpRequest实例
var
http_request
=
false
;
//
定义可复用的http请求发送函数,初始化、指定处理函数、发送请求的函数
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
function
send_request(method, url, content, responseType, callback)
...
{
http_request = false;
//开始初始化XMLHttpRequest对象
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(window.XMLHttpRequest) ...{
//Mozilla浏览器
http_request = new XMLHttpRequest();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(http_request.overrideMimeType) ...{
//设置MIME类别
http_request.overrideMimeType("text/xml");
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else if(window.ActiveXObject) ...{
//IE浏览器
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
catch (e) ...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
catch (e)...{}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(!http_request) ...{
//异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(responseType.toLowerCase() == "text" || responseType.toLowerCase() == "xml") ...{
http_request.onreadystatechange = callback;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else ...{
window.alert("响应类别参数错误.");
return false;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//确定发送请求的方式和URL以及是否一步执行下段代码
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(method.toLowerCase() == "get") ...{
http_request.open(method, url, true);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else if(method.toLowerCase() == "post") ...{
http_request.open(method, url, true);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else ...{
window.alert("http请求类别参数错误.");
return false;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
http_request.send(content);
}
2. 回调函数举例
1)处理返回文本格式信息的函数举例(调用send_request方法时responseType为text)
function
processTextResponse()
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(http_request.readyState == 4) ...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(http_request.status == 200) ...{
//信息已经成功返回,开始处理信息
alert("Text文档相应.");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else ...{
alert("您所请求的页面有异常.");
}
}
}
2)处理返回格式信息的函数举例(调用send_request方法时responseType为xml)
function
processXMLResponse()
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(http_request.readyState == 4) ...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(http_request.status == 200) ...{
//信息已经成功返回,开始处理信息
alert("XML文档相应.");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else ...{
alert("您所请求的页面有异常.");
}
}
}