欢迎大家访问我的BLOG,我会多多的出原创文章,希望大家支持我,为我祈祷,让我实现我的三个梦想!再30岁能成为一个名优秀的软件架构师!

ajax中运用的几个重要函数!

一同步判断:

function AjaxRequest(url,postXml) {//初始化、指定处理函数、发送请求的函数
 xmlhttp = false;
 //开始初始化XMLHttpRequest对象
 if(window.XMLHttpRequest) { //Mozilla 浏览器
  xmlhttp = new XMLHttpRequest();
  if (xmlhttp.overrideMimeType) {//设置MiME类别
   xmlhttp.overrideMimeType("text/xml");
  }
 }
 else if (window.ActiveXObject) { // IE浏览器
  try {
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {}
  }
 }
 if (!xmlhttp) { // 异常,创建对象实例失败
  window.alert("不能创建XMLHttpRequest对象实例.");
  return false;
 }

 // 确定发送请求的方式和URL以及是否同步执行下段代码
 xmlhttp.open("POST", url, false);//表示是同步获取!因为这是获取一个状态,然后根据此状态判断,做出行为,所以决定要同步!
 xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 //xmlhttp.onreadystatechange = processRequest;
 xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4) {
                if (xmlhttp.status == 200) {
                    if(xmlhttp.responseText=="strfalse")
             {
          result = false;
             }
           if(xmlhttp.responseText=="strtrue")
             {
          result = true;
             }
                }
            }
        }
 xmlhttp.send(postXml);

 return result;

}

同步判断:
if(AjaxRequest(reqUrl,strPost) == true)
 {
   alert("发表评论成功!");
   document.location=document.location.href;
 }
else
 {
   alert("发表评论失败!");
 }

二 异步更新:

 


function GoPage(PageIndex)
{
  var VideoID = document.getElementById("VideoID").value;
  var PageIndex=PageIndex;
  var strPost = "PageIndex=" +PageIndex +"&PageSize=5&VideoID=" +VideoID;
  var reqUrl = "/sys/Video/ReVideo.aspx";
  PostData(reqUrl,"CommonDetailList",strPost);
}

function PostData(url,obj,data)
{
 var xmlhttp = CreateXmlhttp();
 if(!xmlhttp)
 {
  alert("你的浏览器不支持XMLHTTP!!");
  return;
 }
 xmlhttp.open("POST", url, true);
 xmlhttp.onreadystatechange=requestdata;
 xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=GB2312");
 xmlhttp.send(data);
 function requestdata()
 {
  echo(obj,"正在提交数据,请稍等......","");
  if(xmlhttp.readyState==4)
  {
   if(xmlhttp.status==200)
   {
    var Status = xmlhttp.responseText;
    echo(obj,Status,"");
   }
  }
 }
}

// JavaScript Document
//=============================================
//函数名称:CreateXmlhttp
//函数功能:创建XMLHttpRequest对象
//=============================================
function CreateXmlhttp()
 {
  var xmlhttp=false;
  try 
  {
     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }
  catch (e)
  {
     try
   {
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     }
   catch (e)
   {
       xmlhttp = false;
    }
   }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined')
  {
     xmlhttp = new XMLHttpRequest();
   if (xmlhttp.overrideMimeType)
   {
    //设置MiME类别
    xmlhttp.overrideMimeType('text/xml');
   }
  } 
  return xmlhttp; 
 }
 
//========================================
//函数名称:echo
//函数功能:向HTML标签中添加标记
//========================================
function echo(obj,html,status)
 {
  //var div = eval("document.all."+obj+"");
  var div = document.getElementById(obj);
  
  if (status == "PostData")
  {
   div.innerHTML="<b>"+html+"</b>";
  }
  else
  {
   div.innerHTML=html;
  }
  
 }

上PostData是post方式,还有get方式:

//================================================================================
//函数名称:GetData
//函数功能:向服务器端提交数据
//函数说明:url-服务器端页面;obj-标签名称;data-提交的数据;type-服务器端处理类型
//================================================================================
function GetData(url,obj1,obj2)
 {
  var xmlhttp = CreateXmlhttp();
  if (!xmlhttp)
  {
   alert("你的浏览器不支持XMLHTTP!!");
   return;
  }
  xmlhttp.open("GET",url,true);
  xmlhttp.onreadystatechange=function(){
   //echo(obj1,"<div align='center' style=font-size:9pt>正在读取数据,请稍等......</div>","");
   if(xmlhttp.readyState==4&&xmlhttp.responseText)
   {
    if (xmlhttp.status == 200)
    {
     var result = xmlhttp.responseText;
     echo(obj2,result,"");
    } 
   }
  };
  xmlhttp.send(null);
 }

 

我做过的酒点和门票预订系统用到的函数:

 

function GetData(url,obj1,obj2)
 {
  var xmlhttp = CreateXmlhttp();
  if (!xmlhttp)
  {
   alert("你的浏览器不支持XMLHTTP!!");
   return;
  }
//  xmlhttp.open("GET",url,false);
//  xmlhttp.onreadystatechange=function(){
//   //echo(obj1,"<div align='center' style=font-size:9pt>正在读取数据,请稍等......</div>","");
//   if(xmlhttp.readyState==4&&xmlhttp.responseText)
//   {
//    if (xmlhttp.status == 200)
//    {
//     var result = xmlhttp.responseText;
//     //if(result.indexOf("提示")>=0)
//     //{
//       echo(obj2,"","");
//       return result;
//     //}
//     //echo(obj2,result,"");
//    } 
//   }
//  };
//  xmlhttp.send(null);
  xmlhttp.open("GET",url,false);
  xmlhttp.send(null);
     if (xmlhttp.status == 200)
     {
    result = xmlhttp.responseText;
    if(result.indexOf("提示")>=0)
      {
           //echo(obj2,"","");
           return result;
      }
     echo(obj2,result,"");
  }
 }

function GetTicketData(url)
 {
  var xmlhttp = CreateXmlhttp();
  if (!xmlhttp)
  {
   alert("你的浏览器不支持XMLHTTP!!");
   return;
  }

  xmlhttp.open("GET",url,false);
  xmlhttp.send(null);
     if (xmlhttp.status == 200)
     {
    result = xmlhttp.responseText;
    if(result.indexOf("提示")>=0)
      {
           //echo(obj2,"","");
           return result;
      }
  }
 }

posted on 2008-10-21 18:22  程序缘  阅读(364)  评论(0)    收藏  举报

导航