// aien,i@ruboy.com,1034555083
// ajax(a,b,c,d,e,f,g);
// 参数说明:a-请求方法;b-请求的地址;c-请求的数据,a为post时有效;d-回调函数,函数里面的this引用是xmlhttp对象;e-是否异步,除非设置为false,否则为异步调用;f,g-登录用户名和密码
function ajax(a,b,c,d,e,f,g){
a = a.touppercase();
if(e===false){e=false;}else{e = true;}
var obj = ajax.ajax_getobj();
if(obj){
if(f){
obj.open(a,b,e,f,g);
}else{
obj.open(a,b,e);
}
if(a.touppercase()=="post"){
obj.setrequestheader("content-type", "application/x-www-form-urlencoded");
}
obj.onreadystatechange=function(){if(typeof d != "function"){return;}d.apply(obj,[a,b,c,d,e,f,g]);};
obj.send(c);
}
}
ajax.ajax_getobj = function(){
var b = null;
if (window.activexobject) { //for ie
var httplist = ["msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp"];
for(var i = httplist.length -1;i >= 0;i--){
try{
b = new activexobject(httplist[ i]);
return b;
}catch(ex){}
}
}else if (window.xmlhttprequest) { //for other
b = new xmlhttprequest();
}
return b;
}
更简单的方法二
ajax.ajax_getobj = function(){
var b = null;
if (window.activexobject) { //for ie
var httplist = ["msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp"];
for(var i = httplist.length -1;i >= 0;i--){
try{
b = new activexobject(httplist[ i]);
ajax.ajax_getobj = function() {
return new activexobject(httplist[i]);
}
return b;
}catch(ex){}
}
}else if (window.xmlhttprequest) { //for other
b = new xmlhttprequest();
}
ajax.ajax_getobj = function() {
return new xmlhttprequest();
}
return b;
}