您的位置:首页 > 其它

封装一个简单的同步Ajax函数

2006-03-27 13:41 721 查看
/**
函数:初始化一个Ajax的对象
*/
function psGetAjaxObj(){
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined'){
ajax = new XMLHttpRequest();
}
if (!ajax){
alert("Get Ajax object failed");
}
return ajax;
}

/**
函数:发送一个Ajax请求到服务器端
参数:
serverPageUrl -- 服务器端页面地址
parmString -- 参数,类似 'user=123&id=100'
requestMethod -- 请求服务器端的方法,Get和Post两种,默认是Post
isGetResponse -- 是否获取服务器端返回的结果,默认是true
*/
function SendAjaxRequest(serverPageUrl, parmString, requestMethod='POST', isGetResponse=true){
var ajax = psGetAjaxObj();
if (requestMethod != 'POST'){
requestMethod = 'GET';
}
if (requestMethod == 'GET'){
ajax.open('GET', serverPageUrl + parmString, true);
ajax.onreadystatechange = function(){
if (ajax.readyState == 4 && ajax.status == 200){
responseMessage = ajax.responseText;
}
}
ajax.send(null);
}
if (requestMethod == "POST"){
ajax.open("POST", serverPageUrl, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send(parmString);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
responseMessage = ajax.responseText;
}
}
if (isGetResponse){
return responseMessage;
}
return null;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: