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

Ajax请求处理技巧
本文介绍了一个用于初始化Ajax对象的函数及如何使用该对象发送GET或POST请求到服务器端的方法。文章详细解释了如何设置请求头并接收服务器响应。

/**
函数:初始化一个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;
 } 
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值