ajax

AJAX的特點

1.短連接。
2.請求 ,響應(yīng)的方式
3.無刷新接受數(shù)據(jù)
4.速度快

AJAX的代碼4.0

// 函數(shù)封裝的是代碼,采用面向?qū)ο蟮男问椒庋b




(function () {




// 暴露出ajax接口
ajax = window.ajax = {}

// 增加1個方法: get方法
/*
 * 參數(shù):
 *   obj 是1個對象,代表參數(shù)的集合,里面有很多參數(shù),如下所示:
 *      url         請求的地址與參數(shù)
 *      data        發(fā)送的數(shù)據(jù)
 *      async       是否是同步,  true / false
 *      fail        失敗的處理回調(diào)函數(shù)
 *      success     成功的處理回調(diào)函數(shù)
 */
ajax.get = function(obj) {
    
    if (obj.async == undefined) {
        obj.async = true;
    }
    
    if (obj.data == undefined) {
        obj.data = "";
    }
    
    var xhr = new XMLHttpRequest();
    
    var url = obj.url;
    url += "?"
    
    
    url += translate(obj.data)
    
    function translate(obj){
                var str =""
                for(var i in obj){
                    str += i;
                    str += "=";
                    str += obj[i];
                    str += "&"
                    
                    
                    
                }
                str = str.substr(0,str.length - 1)
                return str 
    
            };
    
    xhr.open("GET", url, obj.async);
    
    xhr.send()
    
    if (obj.async == true) {
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) {
                
                if (xhr.status == 200) {
                    
                    var str = xhr.responseText;
                    obj.success && obj.success(str);
                } else {
                    obj.fail && obj.fail();
                }
                
            }
            
        }
    } else {
        // 同步方式
        if (xhr.status == 200) {
            var str = xhr.responseText;
            obj.success && obj.success(str);
        } else {
            obj.fail && obj.fail();
        }
    }
    
}



// 增加1個方法: post方法
/*
 * 參數(shù):
 *   obj 是1個對象,代表參數(shù)的集合,里面有很多參數(shù),如下所示:
 *      url         請求的地址與參數(shù)
 *      data        發(fā)送的數(shù)據(jù)
 *      async       是否是同步,  true / false
 *      fail        失敗的處理回調(diào)函數(shù)
 *      success     成功的處理回調(diào)函數(shù)
 */
ajax.post = function(obj) {
    
    if (obj.async == undefined) {
        obj.async = true;
    }
    
    if (obj.data == undefined) {
        obj.data = "";
    }
    
    var xhr = new XMLHttpRequest();
    
    var url = obj.url;
    
    xhr.open("POST", url, obj.async);

    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send(obj.data)
    
    if (obj.async == true) {
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) {
                
                if (xhr.status == 200) {
                    
                    var str = xhr.responseText;
                    obj.success && obj.success(str);
                } else {
                    obj.fail && obj.fail();
                }
                
            }
            
        }
    } else {
        // 同步方式
        if (xhr.status == 200) {
            var str = xhr.responseText;
            obj.success && obj.success(str);
        } else {
            obj.fail && obj.fail();
        }
    }
    
}

})();

AJAX的學習

還需加強記憶,多加練習、

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,585評論 0 7
  • Ajax準備知識:json 什么是json? 定義: JSON(JavaScript Object Notatio...
    lkning閱讀 989評論 0 2
  • 這種人我還帶他出去玩么?有一次我和我朋友去動物園,就先去了老校區(qū)轉(zhuǎn)轉(zhuǎn),結(jié)果就轉(zhuǎn)到了藝術(shù)設(shè)計學院。去了人家的實驗室,...
    鍵盤瞎閱讀 1,392評論 10 43
  • 轉(zhuǎn)載地址:http://www.cnblogs.com/mingmingruyuedlut/archive/201...
    matianhe閱讀 1,736評論 0 129
  • 1.AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和X...
    空谷悠閱讀 597評論 2 11

友情鏈接更多精彩內(nèi)容