国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談jQuery異步對象(XMLHttpRequest)

2019-11-20 13:55:26
字體:
來源:轉載
供稿:網友

我們先來看看異步對象五部曲

這是post請求的、

復制代碼 代碼如下:

 //1.00創建異步對象
            var xhr = new XMLHttpRequest();
            //2.0
            xhr.open("post", url,params, true);
            //3.0將參數使用Formdata屬性傳遞
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            //4.0設置回調函數
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    alert(xhr.responseText);
                }
            }
            //5.0傳遞參數
            xhr.send(params);

結合get請求做一個異步對象的封裝

get 請求中的

  xhr.setRequestHeader("If-Modified-Since", "0"); 是為了清除緩存

而post請求的

復制代碼 代碼如下:

 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

是為了傳輸方式
在<from method='post' type="">
<from>中的type可以得到三種方式,其中包括application/x-www-form-urlencoded
 

復制代碼 代碼如下:

var ajaxHelp = {
    CreatXHR: function () {
        //創建異步對象
        var xhr = new XMLHttpRequest();
        return xhr;
    },
    //ajax的get請求
    AjaxGet: function (url, callBack) {
        this.AJaxCommon("get", url, null, callBack);
    },
    //ajax的post請求
    AjaxPost: function (url, params, callBack) {
        this.AJaxCommon("post", url, params, callBack);
    },
    AJaxCommon: function (method, url, params, callBack) {
        //1.0
        var xhr = this.CreatXHR();
        //2.0
        xhr.open(method, url, true);
        //3.0
        if (method == "get") {
            xhr.setRequestHeader("If-Modified-Since", "0");
        } else {
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        }
        //4.0
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                var datas = JSON.parse(xhr.responseText);
                //執行回調函數
                callBack(datas);
            }
        }
        //5.0
        xhr.send(params);
    }
};

ps:在JQuery里面是有$.ajax  和$.get /   $.Post  等異步請求的方法的。以前的封裝就不用了。額。好扯。其實他們底層也是這樣的寫的呢。JQuery就是為了解決各個瀏覽器的兼容性問題而已

以上就是本人對于jQuery異步對象(XMLHttpRequest)的理解,如有遺漏,麻煩聯系我,補充上。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿瓦提县| 万宁市| 工布江达县| 南投县| 上饶市| 绩溪县| 高平市| 孟连| 徐汇区| 南宁市| 定州市| 仙居县| 孟州市| 广汉市| 双峰县| 永州市| 宁乡县| 沁源县| 陆川县| 遂川县| 沈阳市| 台江县| 安达市| 柞水县| 宿松县| 色达县| 武义县| 冷水江市| 高雄县| 江华| 吴桥县| 绥芬河市| 闸北区| 木里| 印江| 镇原县| 土默特右旗| 克什克腾旗| 思茅市| 高邑县| 开化县|