寫了一個簡單的ajax操作類

來源:互聯網
上載者:User
<script language="javascript">
//-----------------------------------
// Description :    ajax 簡單操作類
// Author :         no_mIss
// createTime :     2006.06.06
// lastUpdateTime : 2006.08.02
//-----------------------------------
   
function ajax(){
 this.method;
 this.url;
 this.responsetype;
 this.content;
 var http_request = false;
 this.getExecObj = function(reValue){
  if(window.XMLHttpRequest) {
   http_request = new XMLHttpRequest();
   if (http_request.overrideMimeType) {
       http_request.overrideMimeType("text/xml");
   }
  }
  else if (window.ActiveXObject) {
   try {
       http_request = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
       try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (e) {}
   }
  }
  if (!http_request) {
   window.alert("建立XMLHttpRequest對象執行個體失敗.");
   return false;
  }
  
  if(this.method.toLowerCase()=="get") {
   http_request.open(this.method, this.url, true);
  }
  else if(this.method.toLowerCase()=="post") {
   http_request.open(this.method, this.url, true);
   http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  }
  else {                          
   window.alert("http請求類別參數錯誤。");
   return false;
  }
  http_request.send(this.content);  
  
  var reTextResponse = function() {
   if (http_request.readyState == 4) {
    if (http_request.status == 200) {  
      reValue(http_request.responseText);       
    } else {
        alert("頁面有異常。");
    }
   }
  }  
  var reXMLResponse = function() {
   if (http_request.readyState == 4) {
    if (http_request.status == 200) {  
      reValue(http_request.responseXML);       
    } else {
        alert("頁面有異常。");
    }
   }
  }
  
  if(this.responsetype.toLowerCase()=="text") {   
   http_request.onreadystatechange = reTextResponse;
  }
  else if(this.responsetype.toLowerCase()=="xml") {
   http_request.onreadystatechange = reXMLResponse;
  }
  else {
   window.alert("參數錯誤。");
   return false;
  }
 }  
}
 
 
 // 調用方法 
 var _ajax = new ajax()             
 _ajax.method = "post";//是get還是post
 _ajax.url = "http://aaa.com/a.asp"; //請求的地址
 _ajax.responsetype = "text";//處理返回內容的類型
 _ajax.content = "id=1";//發送的內容
 _ajax.getExecObj(function(str){document.getElementById("aaa").innerHTML = str});//對傳回值處理  
 
</script>
<div id="aaa"></div>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.