用 2 個函數實現 Ajax

來源:互聯網
上載者:User

    Ajax 技術現在好多人懂了,但用的時候,代碼五花八門,不易理解和維護。現在已經有一些 Ajax 架構,做的很不錯,例如較早的 xAjax(PHP下的),還有現在的 jQuery、Dhtml 等。但因為架構要考慮通用性和相容性等,實現起來疊床架屋的,比較複雜。對於我們一些小應用來說,用起來有大材小用、打炮大蚊子的感覺。

    其實 Ajax 被大家搞的神秘了 - 看看書店裡那些千篇一律的、煞有介事的專門講 Ajax 的書吧。

    以下代碼把通過 get 方式實現 Ajax 請求的方法,構造成 2 個函數(不打算用類來實現),已經可以滿足日常的簡單應用,也幾乎體現了 Ajax 的全部精髓。用的時候,給幾個參數,調用函數就可以了。

    function getAjax(httpurl,requests,div)
    {
     if (typeof(httpurl,requests,div) == 'undefined')
     {
      return false;
     }
     var url = httpurl+requests;
     var show = document.getElementById(div);
     var ajax = InitAjax();
     ajax.open("GET", url, true);
     ajax.onreadystatechange = function() {
      if (ajax.readyState == 4 && ajax.status == 200) {
       show.innerHTML = ajax.responseText;
      }
     }
     ajax.send(null);
    }

    function InitAjax()
    {
     var ajax=false;
     try {
      ajax = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
      try {
       ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
       ajax = false;
      }
     }
     if (!ajax && typeof XMLHttpRequest!='undefined') {
      ajax = new XMLHttpRequest();
     }
     return ajax;
    }

    張慶(網眼) 2008-11-25
    來自“網眼視界”:http://blog.why100000.com
    “十萬個為什麼”電腦學習網:http://www.why100000.com

相關文章

聯繫我們

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