给初学ajax的人 ajax函数代码

代码如下:

/* 
调用方式: 
1.POST方式 
var txt = escape(sender.value); //document.getElementById("<%= txtName.ClientID %>").value); 
var data = "name=" + txt + "&pwd=" + txt; 
var option = { "url": "handler/Handler.ashx" 
, "action": "POST" 
, "callback": function(){ 
if (xmlHttp.readyState == 4) {//服务器给了回应 
if (xmlHttp.status == 200) {//服务正确响应 
alert(xmlHttp.responseText); 
} 
xmlHttp = null; //回收资源 
} 
   } 
, "data": data 
}; 
ajax(option); 
2.GET方式 
var txt = escape(sender.value); //document.getElementById("<%= txtName.ClientID %>").value); 
var option = { "url": "handler/Handler.ashx&name=" + txt + "&pwd=" + txt 
, "action": "POST" 
, "callback": function(){ 
if (xmlHttp.readyState == 4) {//服务器给了回应 
if (xmlHttp.status == 200) {//服务正确响应 
alert(xmlHttp.responseText); 
} 
xmlHttp = null; //回收资源 
} 
   } 
}; 
ajax(option); 
*/ 
function ajax(option) { 
createXMlHttpRequest(); //创建xmlHttpRequest 对象 
if (option != null && option != undefined) { 
if (option.url == null && option.url == undefined) { 
xmlHttp = null; 
alert("缺少必要参数option.url"); 
return; 
} 
if (option.action == null && option.action == undefined) { 
xmlHttp = null; 
alert("缺少必要参数option.action"); 
return; 
} 
xmlHttp.open(option.action, option.url, true); 
if (option.contentType != null && option.contentType != undefined) { 
xmlHttp.setRequestHeader("Content-Type", option.contentType); 
} else { 
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
} 
if (option.callback != null && option.callback != undefined) { 
xmlHttp.onreadystatechange = option.callback; 
} 
if (option.action.toUpperCase() == "POST") { 
xmlHttp.send(option.data); 
} else { 
xmlHttp.send(null); 
} 
} 
} 
var xmlHttp; //调用完成后最好回收下 xmlHttp = null; 
/*获取元素*/ 
function g(arg) { 
var t = document.getElementById(arg); 
if (null != t && t != undefined) { 
return t; 
} 
t = document.getElementsByName(arg); 
if (null != t && t != undefined) { 
return t; 
} 
t = document.getElementsByTagName(arg); 
if (null != t && t != undefined) { 
return t; 
} 
} 
/*创建ajax请求对象*/ 
function createXMlHttpRequest() { 
try {//Firefox, Chrome, Surfri, Opera+8 
xmlHttp = new XMLHttpRequest(); 
} 
catch (ie) { 
try {//IE6+ 
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
} catch (ie) { 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
} 
return xmlHttp; 
}

相关推荐