javascript中ajax的使用

來源:互聯網
上載者:User

AJAX即“Asynchronous JavaScript and XML”(非同步JavaScript和XML),Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支援非同步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向伺服器提出請求並處理響應,而不阻塞使用者。

AJAX優點:

AJAX不是一種新的程式設計語言,而是一種用於建立更好更快以及互動性更強的 Web 應用程式的技術。通過這個對象,您的 JavaScript 可在不重載頁面的情況與Web伺服器交換資料。AJAX 在瀏覽器與 Web 伺服器之間使用非同步資料轉送(HTTP 請求),這樣就可使網頁從伺服器請求少量的資訊,而不是整個頁面。AJAX 可使網際網路應用程式更小、更快,更友好。AJAX 是一種獨立於 Web 伺服器軟體的瀏覽器技術。

AJAX缺點:

它會破壞瀏覽器後退按鈕的正常行為。在動態更新頁面的情況下,使用者無法回到前一個頁面狀態,這是因為瀏覽器僅能記下記錄中的靜態頁面。

AJAX用例:

Google 通過其 GoogleSuggest 使 AJAX 變得流行起來。Google Suggest使用 AJAX 創造出動態性極強的 web介面:當您在Google的搜尋方塊輸入關鍵字時,JavaScript 會把這些字元發送到伺服器,然後伺服器會返回一個搜尋建議的列表。

AJAX狀態值和狀態代碼

AJAX狀態值是指,運行AJAX所經曆過的幾種狀態,無論訪問是否成功都將響應的步驟,可以理解成為AJAX運行步驟。使用ajax.readyState獲得。(由數字1~4單位元字組成)。AJAX狀態代碼是指,無論AJAX訪問是否成功,由HTTP協議根據所提交的資訊,伺服器所返回的HTTP頭資訊代碼,該資訊使用ajax.status所獲得;這就是我們在使用AJAX時為什麼採用下面的方式判斷所獲得的資訊是否正確的原因。
if(ajax.readyState == 4 && ajax.status== 200)  {   .....   }

AJAX運行步驟與狀態值說明(我們大多數採用“4”進行判斷)
0 - (未初始化)還沒有調用send()方法
1 - (載入)已調用send()方法,正在發送請求
2 - (載入完成)send()方法執行完成,
3 - (互動)正在解析響應內容
4 - (完成)響應內容解析完成,可以在用戶端調用了
AJAX狀態代碼說明(列舉最常用的幾個)
200——交易成功
404——沒有發現檔案、查詢或URl
500——伺服器產生內部錯誤
505——伺服器不支援或拒絕支要求標頭中指定的HTTP版本

AJAX 對象的建立

<script type="text/javascript">function loadXMLDoc(){var xmlhttp;if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari  xmlhttp=new XMLHttpRequest();  }else  {// code for IE6, IE5  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }xmlhttp.onreadystatechange=function()  {  if (xmlhttp.readyState==4 && xmlhttp.status==200)    {        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;    }  }xmlhttp.open("GET","http://localhost:8887/jq/css/lamf.css",true);xmlhttp.send();}</script>

相關文章

聯繫我們

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