/*
*
* 功能描述:封装XMLHttpRequest对象
* 属性列表:
requestMode:请求方式
url:处理请求的应用程序
isAcynch:true代表异步处理,false:代表同步处理
callBackMethod:回调函数
functionName:处理请求的方法名
parameters:参数对象
*
*/
//
// 构造对象
//
function AjaxObject(requestMode , url , isAcynch , callBackMethod, functionName , parameters)
{
this.requestMode = requestMode;
this.url = url;
this.isAcynch = isAcynch;
this.callBackMethod = callBackMethod;
this.functionName = functionName;
this.parameters = parameters;
}
//
// 初始化属性原型
//
AjaxObject.prototype.requestMode = 'POST';
AjaxObject.prototype.isAcynch = true;
//
// 封装后的发送方法
//
AjaxObject.prototype.send = function()
{
// 创建对象
var xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
var myCallBackMethod = this.callBackMethod;
xmlHttp.open(this.requestMode , this.url , this.isAsynch);
xmlHttp.onreadystatechange = function(){myCallBackMethod(xmlHttp);};
var parameter = '<action><function name="'+ this.functionName +'" />';
parameter += '<parameters>';
// 添加参数
if (null != this.parameters && this.parameters.constructor == Object)
{
for(var i in this.parameters)
{
parameter += '<parameter name="'+ i +'">'+ this.parameters[i] +'</parameter>';
}
}
parameter += '</parameters>';
parameter += '</action>';
// 发送请求
xmlHttp.send(parameter);
}