asp ajax 例子

ajax.js



var xml_http_building_link = '请等待,正在建立连接...';
var xml_http_sending = '请等待,正在发送数据...';
var xml_http_loading = '请等待,正在接受数据...';
var xml_http_load_failed = '通信失败,请刷新后重新尝试...';
var xml_http_data_in_processed = '通信成功,数据正在处理中...';

function Ajax(statusId, recvType) {
 var aj = new Object();
 if(document.getElementById(statusId)) {
  aj.statusId = document.getElementById(statusId);
 } else {
  var divElement = document.createElement("DIV");
  divElement.className = "xspace-ajaxmsg";
  divElement.style.position = "fixed";
  divElement.style.right = "0";
  divElement.style.top = "0";
  divElement.style.background = "red";
  divElement.style.color = "#FFF";
  divElement.style.lineHeight = "2em";
  divElement.style.padding = "0 20px";
  divElement.id = statusId;
  document.body.appendChild(divElement);
  aj.statusId = divElement;
 }
 
 aj.targetUrl = '';
 aj.sendString = '';
 aj.recvType = recvType ? recvType : 'HTML';//HTML XML
 aj.resultHandle = null;

 aj.createXMLHttpRequest = function() {
  var request = false;
  if(window.XMLHttpRequest) {
   request = new XMLHttpRequest();
   if(request.overrideMimeType) {
    request.overrideMimeType('text/xml');
   }
  } else if(window.ActiveXObject) {
   var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
   for(var i=0; i<versions.length; i++) {
    try {
     request = new ActiveXObject(versions[i]);
     if(request) {
      return request;
     }
    } catch(e) {
     //alert(e.message);
    }
   }
  }
  return request;
 }

 aj.XMLHttpRequest = aj.createXMLHttpRequest();

 aj.processHandle = function() {
  aj.statusId.style.display = '';
  if(aj.XMLHttpRequest.readyState == 1) {
   aj.statusId.innerHTML = xml_http_building_link;
  } else if(aj.XMLHttpRequest.readyState == 2) {
   aj.statusId.innerHTML = xml_http_sending;
  } else if(aj.XMLHttpRequest.readyState == 3) {
   aj.statusId.innerHTML = xml_http_loading;
  } else if(aj.XMLHttpRequest.readyState == 4) {
   if(aj.XMLHttpRequest.status == 200 ||  aj.XMLHttpRequest.status==0) {
    aj.statusId.style.display = 'none';
    if(aj.recvType == 'HTML') {
     //alert("3");
     aj.resultHandle(aj.XMLHttpRequest.responseText);
     
    } else if(aj.recvType == 'XML') {
     //alert("XML");
     aj.resultHandle(aj.XMLHttpRequest.responseXML);
    }
   } else {
    //aj.statusId.innerHTML = xml_http_load_failed;
    aj.statusId.innerHTML = aj.XMLHttpRequest.status;
   }
  }
 }

 aj.get = function(targetUrl, resultHandle) {
  aj.targetUrl = targetUrl;
  aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
  aj.resultHandle = resultHandle;
  if(window.XMLHttpRequest) {
   aj.XMLHttpRequest.open('GET', aj.targetUrl);
   aj.XMLHttpRequest.send(null);
  } else {
         aj.XMLHttpRequest.open("GET", targetUrl, true);
         aj.XMLHttpRequest.send();
  }
 }

 aj.post = function(targetUrl, sendString, resultHandle) {
  aj.targetUrl = targetUrl;
  aj.sendString = sendString;
  aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
  aj.resultHandle = resultHandle;
  aj.XMLHttpRequest.open('POST', targetUrl);
  aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  aj.XMLHttpRequest.send(aj.sendString);
 }
 return aj;
}





具体的调用:


var key1=document.forms[0].userName.value;
 var key2=document.forms[0].userPwd.value;
 var key3=document.forms[0].userValidate.value;
 var comeUrl =document.forms[0].comeUrl.value;
 var xStr = "key1="+ key1 +"&key2=" + key2 +"&key3=" + key3 +"&key4=logs";
 var xlogs = new Ajax('loginshow', 'HTML');
 xlogs.post('/useinfo/checklogin.asp',xStr,function(s){
  if (s == 2 || s == 1 || s == 0){
   if (s == 2){
    msg = "<span  style='color:Red;font-family:verdana;font-size:9pt;'>用户名或密码错误  </span><span>请重新输入。</span>";
   }else if( s == 1){
    msg = "<span  style='color:Red;font-family:verdana;font-size:9pt;'>验证码错误  </span><span>必须是4位数字或字母,忽略大小写。</span>";
   }else if( s == 0){
    msg = "<span  style='color:Red;font-family:verdana;font-size:9pt;'>参数出错  </span><span>可能有参数为空,或者含有<a href='#' title='为防止非法注入字符含有单引号,and,exec,insert,select,delete,update,chr,mid,master,truncate,char,declare等字符我们都视为非法'>非法字符</a></span>";
   }
   changeValidate();
   document.forms[0].userValidate.value = "";
   document.forms[0].userPwd.value ="";
   xlogs.statusId.style.display = 'block';
   xlogs.statusId.innerHTML = msg;
  }else{
   if (s == 256){
    msg = "<span  style='color:#008000;font-family:verdana;font-size:9pt;'>登陆成功, <span id='last_time'>2 </span>秒后自动跳转...</span>";
    document.forms[0].userName.value = "";
    document.forms[0].userPwd.value ="";
    document.forms[0].userValidate.value ="";
    xlogs.statusId.style.display = 'block';
    xlogs.statusId.innerHTML = msg;
    countDown(2,comeUrl);
    
   }
  }
 }
 );




//secs秒后跳转到surl
function countDown(secs,surl){
 document.getElementById("last_time").innerText=secs;
 if(--secs>0){
  setTimeout("countDown("+secs+",'"+surl+"')",1000);
     }else{
  window.location.href=surl;
     }
 }

posted on 2008-04-17 21:26  西湖浪子  阅读(526)  评论(0)    收藏  举报