// 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;
}