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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

淺談jQuery異步對(duì)象(XMLHttpRequest)

2024-05-06 16:10:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
文章淺顯易懂的將jQuery異步對(duì)象分為了5個(gè)步奏,非常有利于我們學(xué)習(xí)記憶,是篇相當(dāng)不錯(cuò)的學(xué)習(xí)jQuery異步對(duì)象的文章,這里推薦給大家。
 
 

我們先來(lái)看看異步對(duì)象五部曲

這是post請(qǐng)求的、

 

復(fù)制代碼代碼如下:

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

 

結(jié)合get請(qǐng)求做一個(gè)異步對(duì)象的封裝

get 請(qǐng)求中的

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

而post請(qǐng)求的

 

復(fù)制代碼代碼如下:

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

 

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

復(fù)制代碼代碼如下:

var ajaxHelp = {
    CreatXHR: function () {
        //創(chuàng)建異步對(duì)象
        var xhr = new XMLHttpRequest();
        return xhr;
    },
    //ajax的get請(qǐng)求
    AjaxGet: function (url, callBack) {
        this.AJaxCommon("get", url, null, callBack);
    },
    //ajax的post請(qǐng)求
    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);
                //執(zhí)行回調(diào)函數(shù)
                callBack(datas);
            }
        }
        //5.0
        xhr.send(params);
    }
};

 

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

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 东丰县| 波密县| 湟源县| 泾阳县| 安溪县| 巴里| 宜川县| 咸丰县| 马边| 溧水县| 汨罗市| 天祝| 盐山县| 无锡市| 秦皇岛市| 文山县| 江陵县| 灵寿县| 成安县| 大冶市| 房产| 赞皇县| 永吉县| 全州县| 海原县| 阿拉善右旗| 仙桃市| 长寿区| 镇巴县| 盈江县| 车致| 舒兰市| 陈巴尔虎旗| 定安县| 抚州市| 承德市| 广汉市| 府谷县| 沁水县| 武穴市| 冷水江市|