国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 微山县| 潞西市| 衡阳市| 苍山县| 阳信县| 平阴县| 滦平县| 台州市| 和硕县| 宁化县| 霍城县| 宁化县| 巩义市| 噶尔县| 灵武市| 彩票| 三江| 辽宁省| 本溪市| 温州市| 偏关县| 苏州市| 汾阳市| 永州市| 新民市| 广饶县| 临桂县| 和林格尔县| 石阡县| 塔河县| 上虞市| 全南县| 台北市| 宜兰县| 贵阳市| 贡觉县| 遂川县| 林芝县| 塘沽区| 郧西县| 江城|