通用ajax要求方法封裝,相容主流瀏覽器,ajax主流

來源:互聯網
上載者:User

通用ajax要求方法封裝,相容主流瀏覽器,ajax主流

ajax簡介
沒有AJAX會怎麼樣?普通的ASP.Net每次執行服務端方法的時候都要重新整理當前頁面。如果沒有AJAX,在youku看視頻的過程中如果點擊了“頂、踩”、評論、評論翻頁,頁面就會重新整理,視頻就會被打斷。開發一個看效果:用<video src="diaosi.mp4" autoplay controls></video>播放視頻(只有支援html5的瀏覽器能播放),然後放一個“贊”按鈕的功能(贊的數量存到資料庫),看沒有ajax會打斷視頻,看優酷則不會。

AJAX是一種進行頁面局部非同步重新整理的技術。用AJAX向伺服器發送請求和獲得伺服器返回的資料並且更新到介面中,不是整個頁面重新整理,而是在HTML頁面中使用JavaScript建立XMLHTTPRequest對象來向伺服器發出請求以及獲得返回的資料,就像JavaScript版的WebClient一樣,在頁面中由XMLHTTPRequest來發出Http請求和獲得伺服器的返回資料,這樣頁面就不會重新整理了。XMLHTTPRequest是AJAX的核心對象

有些重複的東西,我們不希望每次使用的時候都自己手動再去重新寫一遍,或者重新複製一遍,這時,我就需要對代碼進行封裝。方法封裝的原則:把不變的代碼封裝起來,把變的東西作為參數傳遞過去。

//url:ajax請求地址帶需要傳遞的參數,onsuccess:請求成功後執行的js方法function ajax(url, onsuccess){    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //建立XMLHTTP對象,考慮相容性。XHR    xmlhttp.open("POST", url, true); //“準備”向伺服器的GetDate1.ashx發出Post請求(GET可能會有緩衝問題)。這裡還沒有發出請求    //DRY:不要複製粘貼代碼    //AJAX是非同步,並不是等到伺服器端返回才繼續執行    xmlhttp.onreadystatechange = function ()    {        if (xmlhttp.readyState == 4) //readyState == 4 表示伺服器返回完成資料了。之前可能會經曆2(請求已發送,正在處理中)、3(響應中已有部分資料可用了,但是伺服器還沒有完成響應的產生)        {            if (xmlhttp.status == 200) //如果Http狀態代碼為200則是成功            {                onsuccess(xmlhttp.responseText);            }            else            {                alert("AJAX伺服器返回錯誤!");            }        }    }    //不要以為if (xmlhttp.readyState == 4) {在send之前執行!!!!    xmlhttp.send(); //這時才開始發送請求。並不等於伺服器端返回。請求發出去了,我不等!去監聽onreadystatechange吧!}

聯繫我們

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