原生與jQuery封裝的ajax請求數據及狀態碼


原生Ajax 請求數據

btn.addEventListener('click',function(){
        if(window.XMLHttpRequest){
            var xhr = new window.XMLHttpRequest();
        }else{
            //兼容IE瀏覽器
            var xhr = new ActiveXObject('Microsoft.XMLHTTP');
        }
        //請求方式get/post
        //請求URL
        //ture 異步請求;false 同步請求
        xhr.open('get','/ajax/getdata',true);
        //給xhr 綁定事件監聽狀態的改變(狀態碼見下)
        xhr.onreadystatechange = function(){
            if(xhr.readyState == 4 && xhr.status == 200){
                console.log(xhr.responseText);
            }
        }
        //發送請求數據 //get方法send參數為空或null
        xhr.send();
    });

jQuery 實現的Ajax 封裝

//jQuery
    $('.btn').on('click',function(){
            $.ajax({
                url:'/ajax/getdata',
                type:'get',
                dataType:'json',
                //成功執行函數
                success:function(response,status){
                   console.log(responseText);
                }
            });
        });

xhr.readystate 狀態碼

0:unsend  //當前請求還未發送

1:opened //URL地址已經打開

2:headers_received //響應頭信息已經接收

3:loading // 主要的返回數據正在服務器進行准備處理

4:done //響應主體的內容已經成功返回客戶端

xhr.status 服務器狀態碼

200及以2開頭的:成功(響應的主體已經成功返回客戶端)

301:永久重定向/轉移

302:臨時重定向/轉移

304:本次獲取的內容是讀取的緩存

400:客戶端->服務器的參數錯誤

401:無權限訪問

404:訪問地址不存在

500:未知的服務器錯誤

501:服務器超負荷

//數據不全僅供參考----------


免責聲明!

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



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