[JavaScript]一个非常标准的发送XMLHTTP请求的Javascript程序

转载自: http://hi.baidu.com/yydriver/blog/item/2f5ffc45f8bcbc2dcffca3d9.html

写一个XmlHttp请求的脚本程序不困难,可以用二三行就写完.

但是每次写的时候都会发现,有一点的不足,可重用性也不高.

于是,在考虑到各种浏览器如IE7,Mozilla,FireFox,IE6,IE5的情况下,由于Vbscript不太受Jsp,Php等程序的欢迎,

于是写了一个Javascript的XmlHttp程序.

程序,基本上达到了实用性和重用性的高度结合.

使用时,可以把程序放在一个.js文件中.


/********************************************************************
* 函数名称: SendXmlHttp()
* 功能描述: 该函数通过XML HTTP执行一个后台程序
* 参数说明: sURL   : 后台程序的地址
*     sContent : 发送的内容
* 返回值 : true   : 成功
*     false   : 失败
********************************************************************/
function SendXmlHttp(sURL,sContent)
{
// 判断sURL是否为空,如果为空则直接返回
if ("" == sURL)
{
   return false;
}
var oXMLHttp = null;
if (window.XMLHttpRequest){
   // If IE7, Mozilla, Safari, etc: Use native object
   oXMLHttp = new XMLHttpRequest()
}
//for window's ie5,ie6
else if(window.ActiveXObject)
{
   oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}        
// 判断IE是否支持使用ActiveXObject
if(oXMLHttp!=null)
{  
   // 捕捉异常
   try
   {
    oXMLHttp.open("POST",sURL,false);
    //发送大量数据时,可以用下面的的sContent
    oXMLHttp.setRequestHeader("Content-Length",sContent.length);
    oXMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    oXMLHttp.send(sContent);
   
    if (200 == oXMLHttp.status)
    {
     if ("ok" == oXMLHttp.responseText)
     {
      // 发送并执行成功,返回true
      return true;
     }
     else
     {
      // 执行sURL时发生错误,返回false
      return false;
     }      
    }
    else
    {
     // 发送数据到服务器端失败,返回false
     alert("Problem retrieving XML data:" + oXMLHttp.statusText);
     return false;
    }
   }
   catch(e)
   {
    // 出现异常,返回false
    alert(e.message);
    return false;
   }   
  
}
else
{
   // 浏览器不支持XMLHTTP,返回false
   alert("Your browser does not support XMLHTTP.");
   return false;
}
}

你可能感兴趣的:(JavaScript)