AJAX 介紹
本文在總體上對 AJAX 做一個概述,並不會對其技術細節做過多涉及。
目的是讓讀者在總體對 AJAX 有一個大致瞭解,更多內容參閱本版塊其他文章。
一.AJAX 是什麼:
AJAX 是非同步 JavaScript 和 XML,英文全稱是 Asynchronous JavaScript and XML。
也就是可以通過 JavaScript 發起 HTTP 請求,並以非同步方式獲取指定的資料。
AJAX 之前,從伺服器請求新的資料並在瀏覽器顯示,需要重新整理整個頁面,這並不是一個好的解決方案:
(1).效能不佳,需要重新載入整個頁面。
(2).影響使用者體驗,很可能影響使用者的其他操作。
AJAX 可以通過與後臺進行少量的資料交換,實現對區域性網頁進行非同步更新,避免重新整理整個頁面。
二.基於現有的 Internet 標準:
AJAX 並不是一門新的技術,而是基於現有的 Internet 標準與技術:
(1).XMLHttpRequest 物件 (非同步的與伺服器交換資料)。
(2).JavaScript/DOM (資訊顯示/互動)。
(3).CSS (給資料定義樣式)。
(4).XML (作為轉換資料的格式)。
特別說明:
(1).第四條闡述在當前並不恰當,當前 JSON 在絕大多數場景下已經替代 XML 作為資料傳輸格式。
(2).AJAX 已經成為前端指令碼發起 HTTP 請求的代名詞,所以不要糾結 AJAX 這個名稱。
三.程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> function loadXMLDoc(){ var xmlhttp; if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); } else{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200){ document.getElementById("show").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","demo/ajax/txt/demo.txt",true); xmlhttp.send(); } window.onload=function(){ var obt=document.getElementById("bt"); obt.onclick=function(){ loadXMLDoc(); } } </script> </head> <body> <div id="show"> <h2>原來的內容</h2> </div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
上述程式碼點選按鈕可以通過 AJAX 寫入新的文字。
相關文章
- ajax簡單介紹
- Ajax,jQuery ajax,axios和fetch介紹、區別以及優缺點jQueryiOS
- JSON簡介和Ajax簡介--bea這兩篇文章介紹的不錯JSON
- http 請求-01-AJAX(Asynchronous JavaScript and XML)入門介紹, ajax 的優缺點HTTPJavaScriptXML
- Ajax簡介
- 簡單的介紹伺服器和Ajax的應用伺服器
- jQuery AJAX 簡介jQuery
- 介紹
- 前端 JS 之 AJAX 簡介及使用前端JS
- PostSync介紹
- FontFamily介紹
- Dubbo介紹
- Yocto 介紹
- 自我介紹
- git介紹Git
- Ninja介紹
- Duktape 介紹
- 公文介紹
- jsoncpp 介紹JSON
- Ceph介紹
- MySql介紹MySql
- GraphRAG介紹
- ServletContext介紹ServletContext
- RPC介紹RPC
- JCache 介紹
- StarRocks 介紹
- maven介紹Maven
- zigbee 介紹
- Appimage介紹APP
- github介紹Github
- GO 介紹Go
- Docker介紹Docker
- Operator介紹
- shell介紹
- RabbitMQ 介紹MQ
- gRPC介紹RPC
- springcloud介紹SpringGCCloud
- CSRedisCore 介紹Redis