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
阿蜜果 阅读(2261)
评论(8) 编辑 收藏 所属分类:
Ajax