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