您好,登錄后才能下訂單哦!
小編給大家分享一下Ajax+js實現異步交互的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發,可以給網站添加各種各樣的動態效果,讓網頁更加美觀。
利用ajax實現異步交互無非4步:
創建ajax核心對象
與服務器建立連接
向服務器發送請求
接收服務器響應的數據
看似神秘的異步交互當明確這4步后,也許在大家腦海里已經有了初步的思路了
首先我們創建ajax的核心對象,由于瀏覽器的兼容問題我們在創建ajax核心對象的時候不得考慮其兼容問題,因為要想實現異步交互的后面步驟都基于第一步是否成功的創建了ajax核心對象.
function getXhr(){ // 聲明XMLHttpRequest對象 var xhr = null; // 根據瀏覽器的不同情況進行創建 if(window.XMLHttpRequest){ // 表示除IE外的其他瀏覽器 xhr = new XMLHttpRequest(); }else{ // 表示IE瀏覽器 xhr = new ActiveXObject('Microsoft.XMLHttp'); } return xhr; } // 創建核心對象 var xhr = getXhr();
通過上述代碼我們已經成功的創建了ajax核心對象,我們保存在變量xhr中,接下來提到的ajax核心對象都將以xhr代替.
第二步就是與服務器建立連接,通過ajax核心對象調用open(method,url,async)方法.
open方法的形參解釋:
method表示請求方式(get或post)
url表示請求的php的地址(注意當請求類型為get的時候,請求的數據將以問號跟隨url地址后面,下面的send方法中將傳入null值)
async是個布爾值,表示是否異步,默認為true.在最新規范中這一項已經不在需要填寫,因為官方認為使用ajax就是為了實現異步.
xhr.open("get","01.php?user=xianfeng");//這是get方式請求數據 xhr.open("post","01.php");//這是以post方式請求數據
第三步我們將向服務器發送請求,利用ajax核心對象調用send方法
如果是post方式,請求的數據將以name=value形式放在send方法里發送給服務器,get方式直接傳入null值
xhr.send("user=xianfeng");//這是以post方式發送請求數據 xhr.send(null);//這是以get方式
第四步接收服務器響應回來的數據,使用onreadystatechange事件監聽服務器的通信狀態.通過readyState屬性獲取服務器端當前通信狀態.status獲得狀態碼,利用responseText屬性接收服務器響應回來的數據(這里指text類型的字符串格式數據).后面再寫XML格式的數據和大名鼎鼎的json格式數據.
xhr.onreadystatechange = function(){ // 保證服務器端響應的數據發送完畢,保證這次請求必須是成功的 if(xhr.readyState == 4&&xhr.status == 200){ // 接收服務器端的數據 var data = xhr.responseText; // 測試 console.log(data); } };
以上是“Ajax+js實現異步交互的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。