這篇文章給大家介紹Ajax引擎 ajax請求,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務紹興,十余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220什么是AJAX引擎?
AJAX引擎其實是一個JavaScript對象,全寫是 window.XMLHttpRequest對象,由于瀏覽器的版本不同,特別是老版本的IE瀏覽器,雖然也支持AJAX引擎,但是寫法上有區(qū)別,在IE低版本中通常用 ActiveXObject對象來創(chuàng)建AJAX引擎。 AJAX 來自英文“Asynchronous Javascript And XML” 的縮寫,也稱為異步JavaScript和XML。 簡言之,就是一個JS對象,可以實現(xiàn)在網(wǎng)頁加載完成以后,不用刷新的情況下與服務器交互。產(chǎn)生好的用戶體驗效果。
AJAX用來做什么?
AJAX技術(shù)廣泛應用于實現(xiàn)用戶體驗良好的一個個交互功能,比如:
搜索產(chǎn)品時的關(guān)鍵詞推薦
注冊新用戶的重名提示
現(xiàn)在網(wǎng)站幾乎全部都使用Ajax技術(shù),最具有代表使用Ajax技術(shù)的網(wǎng)站有:新浪微博、Google地圖、百度搜索、淘寶網(wǎng)等等。
AJAX的實現(xiàn)原理
Ajax的原理簡單來說通過瀏覽器的javascript對象XMLHttpRequest(Ajax引擎)對象向服務器發(fā)送異步請求并接收服務器的響應數(shù)據(jù),然后用javascript來操作DOM而更新頁面。這其中最關(guān)鍵的一步就是從服務器獲得請求數(shù)據(jù)。即用戶的請求間接通過Ajax引擎發(fā)出而不是通過瀏覽器直接發(fā)出,同時Ajax引擎也接收服務器返回響應的數(shù)據(jù),所以不會導致瀏覽器上的頁面全部刷新。
AJAX請求步驟詳細代碼
由于AJAX是一項從客戶端發(fā)起,和服務器進行交互的技術(shù),所以必須涉及兩個方面:客戶端和服務器端,下面咱們以會員注冊的用戶名為例給大家寫一個AJAX的詳細請求步驟和代碼:
客戶端代碼 reg.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>AJAX引擎實現(xiàn)用戶名重名檢測</title> </head> <body> <form> <p>用戶名:<input type="text" name="username" id="username"/> <span id="result"></span></p> <p>密碼:<input type="password" name="pwd1"/></p> <p>確認密碼:<input type="password" name="pwd2"/></p> <p><input type="button" value="立即注冊"/></p> </form> <script type="text/javascript"> var username=document.getElementById('username'); //用戶名輸入框失去焦點時觸發(fā) username.onblur=function(){ //主角登場——AJAX引擎的創(chuàng)建及使用詳細代碼來了 var ajax=new XMLHttpRequest(); //創(chuàng)建AJAX引擎實例 //創(chuàng)建GET請求,發(fā)送請求時傳username值 ajax.open('GET','check.php?username='+this.value); //當AJAX引擎的狀態(tài)產(chǎn)生改變時觸發(fā)onreadystatechange屬性指向的函數(shù)(多次執(zhí)行) //狀態(tài)值有5個:0 1 2 3 4 ,其中4表示服務器端響應就緒 ajax.onreadystatechange=function(){ //必須在服務器響應就緒,并且HTTP的狀態(tài)碼是200時才接收數(shù)據(jù) //ajax.readyState 獲取到服務器響應狀態(tài)碼,必須是4才表示就緒 //ajax.status 獲取到HTTP的狀態(tài)碼,必須是200才表示成功 if(ajax.readyState==4 && ajax.status==200){ //ajax.responseText 接收服務器響應回來的內(nèi)容 //console.log(ajax.responseText); //接收到服務器響應數(shù)據(jù)后,AJAX工作已完成,可根據(jù)結(jié)果顯示提示信息 If(ajax.responseText=='1'){ result.innerHTML='該用戶名太受歡迎,請重新選擇'; result.style.color='#f00'; //將字體設置為紅色 }else{ result.innerHTML='恭喜你,可以注冊'; result.style.color='#0a0'; //將字體設置為綠色 } } } ajax.send(); //發(fā)送請求 } </script> </body> </html>
服務器端代碼 check.php
//服務器端的代碼可以使用PHP編寫,根據(jù)邏輯反饋數(shù)據(jù)給客戶端實現(xiàn)驗證功能 $username=$_GET['username']; //連接數(shù)據(jù)庫的代碼省略 $sql="select id from users where username='$username'"; $rs=mysqli_query($link,$sql); //將構(gòu)造好的SQL語句發(fā)到服務器上執(zhí)行 if( mysqli_num_rows($rs) ){ echo '1'; //如果用戶名找到有結(jié)果,證明該用戶名已存在,返回1 }else{ echo '0'; //如果用戶名未找到結(jié)果,證明該用戶名不存在,返回0 } //關(guān)閉數(shù)據(jù)庫連接,釋放結(jié)果集
==附:AJAX的方法和屬性表==
方法:
屬性:
關(guān)于Ajax引擎 ajax請求就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站標題:Ajax引擎ajax請求-創(chuàng)新互聯(lián)
當前地址:http://aaarwkj.com/article42/cocohc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、品牌網(wǎng)站制作、軟件開發(fā)、Google、自適應網(wǎng)站、響應式網(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)