好程序員Java學習路線分享原生Ajax的使用,首先我們先來看一下什么是 AJAX
10年的清原網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整清原建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“清原網(wǎng)站設計”,“清原網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
????????AJAX 是一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。
????????AJAX 就是 異步、JavaScript 和 XML。
????????AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。
????????通過在后臺與服務器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。
????????傳統(tǒng)的網(wǎng)頁(不使用 AJAX)如果需要更新內(nèi)容,必需重載整個網(wǎng)頁面。
AJAX 工作原理
????Browser瀏覽器 ???????????Server服務器
????發(fā)起事件
????創(chuàng)建XMLHttpRequest對象
????發(fā)送請求 ???????????????
????????????????????????????接收客戶端發(fā)送的對象
????????????????????????????回復一個ResponseText對象
????接收ResponseText結(jié)果
????更新頁面局部數(shù)據(jù)
??????????????????????????????????????????????????????
XMLHttpRequest 對象
????XMLHttpRequest 是 AJAX 的基礎(chǔ)。
????所有現(xiàn)代瀏覽器均支持 XMLHttpRequest 對象(IE5 和 IE6 使用 ActiveXObject)。
????XMLHttpRequest 用于在后臺與服務器交換數(shù)據(jù)。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。
創(chuàng)建 XMLHttpRequest 對象
????所有現(xiàn)代瀏覽器(IE7+、Firefox、Chrome、Safari 以及 Opera)均內(nèi)建 XMLHttpRequest 對象。
????創(chuàng)建 XMLHttpRequest 對象的語法:
????variable=new XMLHttpRequest();
????為了應對所有的現(xiàn)代瀏覽器,包括 IE5 和 IE6,請檢查瀏覽器是否支持 XMLHttpRequest 對象。如果支持,則創(chuàng)建 XMLHttpRequest 對象。如果不支持,則創(chuàng)建 ActiveXObject :
????**實例**
????var xmlhttp;
????if (window.XMLHttpRequest)
????{
????????// ?IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼
????????xmlhttp=new XMLHttpRequest();
????}
????else
????{
????????// IE6, IE5 瀏覽器執(zhí)行代碼
????????xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
????}
AJAX - 向服務器發(fā)送請求請求
????XMLHttpRequest 對象用于和服務器交換數(shù)據(jù)。
????向服務器發(fā)送請求
????????如需將請求發(fā)送到服務器,我們使用 XMLHttpRequest 對象的 open() 和 send() 方法:
????????????xmlhttp.open("GET","ajax_info.txt",true);
????????????xmlhttp.send();
????open(method,url,async) 規(guī)定請求的類型、URL 以及是否異步處理請求。
????????method:請求的類型;GET 或 POST
????????url:文件在服務器上的位置
????????async:true(異步)或 false(同步)
????send(string) 將請求發(fā)送到服務器。
????????string:僅用于 POST 請求
GET 還是 POST?
????與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。
????然而,在以下情況中,請使用 POST 請求:
????????無法使用緩存文件(更新服務器上的文件或數(shù)據(jù)庫)
????????向服務器發(fā)送大量數(shù)據(jù)(POST 沒有數(shù)據(jù)量限制)
????????發(fā)送包含未知字符的用戶輸入時,POST 比 GET 更穩(wěn)定也更可靠
**GET 請求**
????
????xmlhttp.open("GET","/try/ajax/demo_get.php",true);
????xmlhttp.send();
????如果您希望通過 GET 方法發(fā)送信息,請向 URL 添加信息:
????xmlhttp.open("GET","/try/ajax/demo_get2.php?fname=Henry&lname=Ford",true);
xmlhttp.send();
**POST 請求**
????
????一個簡單 POST 請求:
????xmlhttp.open("POST","/try/ajax/demo_post.php",true);
????xmlhttp.send();
????
????如果需要像 HTML 表單那樣 POST 數(shù)據(jù),請使用 setRequestHeader() 來添加 HTTP 頭。然后在 send() 方法中規(guī)定您希望發(fā)送的數(shù)據(jù):
????xmlhttp.open("POST","/try/ajax/demo_post2.php",true);
????xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
????xmlhttp.send("fname=Henry&lname=Ford");
AJAX - 服務器 響應
????請規(guī)定在響應處于 onreadystatechange 事件中的就緒狀態(tài)時執(zhí)行的函數(shù):
????服務器響應如需獲得來自服務器的響應,請使用 XMLHttpRequest 對象的 responseText 或 responseXML 屬性。
????responseText 獲得字符串形式的響應數(shù)據(jù)。
????responseXML 獲得 XML 形式的響應數(shù)據(jù)。
名稱欄目:好程序員Java學習路線分享原生Ajax的使用
網(wǎng)站鏈接:http://chinadenli.net/article2/gjchic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、手機網(wǎng)站建設、網(wǎng)站設計公司、網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)