[JavaScript]一個非常標準的發送XMLHTTP請求的Javascript程式[轉載]

來源:互聯網
上載者:User

轉載自: 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;
}
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.