ajax過程詳解


Ajax是Asynchronous JavaScript and XML的縮寫,意思是異步JavaScript和XML,能夠節省用戶操作,時間,提高用戶體驗,減少數據請求

例:使用ajax獲取某一文本文件的內容

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ajax的原理</title>
<script>
window.onload=function(){
    var oBtn=document.getElementById('btn');

    oBtn.onclick=function(){
        //1、創建對象,打開瀏覽器
        var xhr=new XMLHttpRequest();

        //2、在地址欄輸入地址
        xhr.open('post','1.txt',true);

        //3、提交(發送請求)
        xhr.send();

        //4、等待服務器返回內容
        xhr.onreadystatechange=function(){
            if (xhr.readyState==4) {
                if (xhr.status==200) {
                   alert(xhr.responseText); 
               }else{
                alert("出錯了:"+xhr.status);
               }
                
            };
        }

    }
}
</script>
</head>
<body>
    <input type="button" value="按鈕" id="btn" />點擊這里
    <br/>
    ajax的原理<br/>
    這里是ajax原理的第一個案例
</body>
</html>

1、創建一個ajax對象,這里需要做個異常處理

var xhr = null;
        try {
            xhr = new XMLHttpRequest();
        } catch (e) {
            xhr = new ActiveXObject('Microsoft.XMLHTTP');//ie6以下
        }

 

2、在地址欄輸入地址,open方法

open(傳輸方式,地址,是否異步);

a、傳輸方式有post和get,get:是通過url地址傳輸的,傳遞的類型是字符串,且get有數據量限制,每個瀏覽器都不容;post:是通過瀏覽器內部傳輸的

b、是否異步,異步:非阻塞,前面的代碼不會影響后面代碼的執行;同步:阻塞,前面的代碼會影響后面代碼的執行

 

3、發送請求,相當於form的submit

 

4、等待服務器返回內容

onreadystatechange事件

readyState屬性:請求狀態
0    (初始化)還沒有調用open()方法
1    (載入)已調用send()方法,正在發送請求
2    (載入完成)send()方法完成,已收到全部響應內容
3    (解析)正在解析響應內容
4    (完成)響應內容解析完成,可以在客戶端調用了
status屬性:服務器(請求資源)的狀態
返回的內容
responseText:返回以文本形式存放的內容
responseXML:返回XML形式的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM