function ajaxReadText(file,par,fun)
{
    var xmlObj = null;
    if(window.XMLHttpRequest)
    {
        xmlObj = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else
    {
        return;
    }

    xmlObj.onreadystatechange = function()
    {
        if(xmlObj.readyState == 4)
        {
	        if (xmlObj.status ==200)
	        {
		        objtext = xmlObj.responseText;
		        eval(fun);
	        }
	        else
	        {
		        objtext = "读取文件出错,错误号为 [" + xmlObj.status  + "]";
		        eval(fun);
	        }
        }
    }
    xmlObj.open ('POST', file, true);
    xmlObj.setRequestHeader("content-length", par.length);
    xmlObj.setRequestHeader("content-Type", "application/x-www-form-urlencoded;charset=gb2312");
    xmlObj.send (par);
}
function Ajax(args)
{
    var r;
    args=args||new Object();
    args.url=args.url||"?";
    args.method=args.method||"get";
    args.par=args.par||"";
    args.header=args.header||new Array();
    args.async=args.async||true;
    args.errorXHR=args.errorXHR||function(r){alert(true);};
    args.success=args.success||function(r){alert(false);};
    try
    {
        r=new XMLHttpRequest();
    }
    catch(ex)
    {
        try
        {
            r=new ActiveXObject("Microsoft.XMLHttp");
        }
        catch(ex)
        {
            r=null;
        }
    }
    if(!r)
        return null;
	args.response=r;
    r.open(args.method,args.url,args.async);
	if(args.method.toLowerCase()=="post")
	{
	    args.header.push({k:"content-type",v:"application/x-www-form-urlencoded"});
	}
    for(var i=args.header.length;i>0;i--)
    {
        var p=args.header[i-1];
        r.setRequestHeader(p.k,p.v);
    }
    r.onreadystatechange=function(){if(r.readyState==4)if(r.status>=200&&r.status<400)args.success(r);};
    r.send(args.par);
    return r;
}
