校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > AJAX客戶端說明,XMLHttpRequest對(duì)象

AJAX客戶端說明,XMLHttpRequest對(duì)象

熱門標(biāo)簽:許昌智能電銷機(jī)器人公司 海南銀行智能外呼系統(tǒng)商家 辰溪地圖標(biāo)注 姜堰電銷機(jī)器人 電銷機(jī)器人違法了嗎 遼寧銀行智能外呼系統(tǒng) 遼寧正規(guī)電銷機(jī)器人 上海浦東騰訊地圖標(biāo)注位置 澳大利亞城市地圖標(biāo)注
在CommunityServer中運(yùn)用了自己的AJAX機(jī)制,沒有借助其他的輔助控件。其中客戶的XMLHttpRequest對(duì)象的封裝,就足以讓人大飽眼福,在一般的瀏覽器其都能夠運(yùn)行AJAX。下面我們來學(xué)習(xí)學(xué)習(xí)這個(gè)咚咚,希望能給更多的人帶來幫助。

 首先當(dāng)然是要了解一下瀏覽器中的XMLHttp對(duì)象了:

 XMLHTTP方法: 
         備注:客戶機(jī)可以使用XMLHTTP對(duì)象發(fā)送任意的HTTP請(qǐng)求,接受HTTP應(yīng)答,還可以對(duì)應(yīng)答的XML文檔進(jìn)行解析。 

         Open方法:初始化一個(gè)Msxml2.XMLHTTP請(qǐng)求,指定HTTP請(qǐng)求方式、URL以及鑒定信息。

        語法:
         Open( bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword ) 

        參數(shù)介紹:

        bstrMethod: 數(shù)據(jù)傳送方式,即GET或POST。 
         bstrUrl: 服務(wù)網(wǎng)頁的URL。 
         varAsync: 是否同步執(zhí)行。缺省為True,即同步執(zhí)行,但只能在DOM中實(shí)施同步執(zhí)行。用中一般將其置為False,即異步執(zhí)行。 
         bstrUser: 用戶名,可省略。 
         bstrPassword:用戶口令,可省略。 

        Send方法:發(fā)送HTTP請(qǐng)求到服務(wù)器,返回應(yīng)答。 

        語法: 
        oXMLHttpRequest.send(varBody) 

       說明:此方法是否同步取決于Open方法的varAsync參數(shù)。如果設(shè)為True則為同步,調(diào)用立刻返回,如果設(shè)為False調(diào)用直到整個(gè)應(yīng)答被接收了才返回。 

        setRequestHeader( bstrHeader, bstrvalue )

        bstrHeader:HTTP 頭(header) 
        bstrvalue: HTTP 頭(header)的值 

       如果Open方法定義為POST,可以定義表單方式上傳: 
       xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded") 

XMLHTTP屬性: 

 onreadystatechange:在同步執(zhí)行方式下獲得返回結(jié)果的事件句柄。只能在DOM中調(diào)用。 
 responseBody: 結(jié)果返回為無符號(hào)整數(shù)數(shù)組。 
 responseStream: 結(jié)果返回為IStream流。 
 responseText : 結(jié)果返回為字符串。 
 responseXML: 結(jié)果返回為XML格式數(shù)據(jù)。

 運(yùn)用這個(gè)原理也可以做網(wǎng)絡(luò)小偷程序,網(wǎng)絡(luò)爬蟲應(yīng)該就是應(yīng)用這個(gè)東西來完成的吧,不過我沒有做過,可能在不久的將來會(huì)制作個(gè)來玩玩,這里我們最主要的是看看CS中是如何封裝他的:

   1//Ajax Start
 2/**////summary>
 3///創(chuàng)建回調(diào)對(duì)象,如果存在window.XMLHttpRequest()對(duì)象,則返回此對(duì)象,如果是IE則搜索Msxml2.XMLHTTP各個(gè)版本及Microsoft.XMLHTTP并創(chuàng)建對(duì)象返回。
 4////summary>
 5function Ajax_GetXMLHttpRequest() {
 6    if (window.XMLHttpRequest) {
 7        return new XMLHttpRequest();
 8    } else {
 9        if (window.Ajax_XMLHttpRequestProgID) {
            return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
        } else {
            var progIDs = ["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
            for (var i = 0; i  progIDs.length; ++i) {
                var progID = progIDs[i];
                try {
                    var x = new ActiveXObject(progID);
                    window.Ajax_XMLHttpRequestProgID = progID;
                    return x;
                } catch (e) {
                }
            }
        }
    }
    return null;
}
/**////summary>
///Ajax回調(diào)。
////summary>
///param name="type">調(diào)用服務(wù)端函數(shù)所在的類包括命名空間(如:NExplus.Controls.SiteHeader)。/param>
///param name="id">客戶端所對(duì)應(yīng)的標(biāo)記的ID(如:div id="ID">/div>)。/param>
///param name="method">服務(wù)端(方法)函數(shù)名稱(被AjaxMethod標(biāo)記)。/param>
///param name="args">傳到服務(wù)器的字符串。/param>
///param name="clientCallBack">同步或異步回調(diào)。/param>
///param name="debugRequestText">調(diào)試/請(qǐng)求字符串。/param>
///param name="debugResponseText">調(diào)試/輸出字符串。/param>
///param name="debugErrors">調(diào)試的錯(cuò)誤信息。/param>
///param name="includeControlValuesWithCallBack">是否和控件及其值一起回調(diào)。/param>
///param name="url">Url地址。/param>
function Ajax_CallBack(type, id, method, args, clientCallBack, debugRequestText, debugResponseText, debugErrors, includeControlValuesWithCallBack, url) {

    if (!url)
    {
        url = window.location.href;
        url = url.replace(/\#.*$/, '');//去除URL中標(biāo)簽部分,即"#"之后的字符串。
        //加入?yún)?shù)Ajax_CallBack并設(shè)為true,說明是AJAX回調(diào)。
        if (url.indexOf('?') > -1)
            url += "Ajax_CallBack=true";
        else
        {
            if (url.substr(url.length - 1, 1) == "/")
                url += "default.aspx";

            url += "?Ajax_CallBack=true";
        }
    }

    var x = Ajax_GetXMLHttpRequest();//取得XMLHttpRequest對(duì)象。
    var result = null;
    if (!x) {
        result = { "value":null, "error": "NOXMLHTTP"};
        if (debugErrors) {
            alert("error: " + result.error);
        }
        if (clientCallBack) {
            clientCallBack(result);
        }
        return result;
    }

    x.open("POST", url, clientCallBack ? true : false);//以Post方式打開對(duì)象,這樣在服務(wù)端就可以用Request.Form獲取參數(shù)。
    x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
    if (clientCallBack) {
        //如果同步,判斷狀態(tài),輸出錯(cuò)誤消息。
        x.onreadystatechange = function() {
            var result = null;

            if (x.readyState != 4) {
                return;
            }

            if (debugResponseText) {
                alert(x.responseText);
            }

            try
            {
                var result = eval("(" + x.responseText + ")");
                if (debugErrors  result.error) {
                    alert("error: " + result.error);
                }
            }
            catch (err)
            {
                if (window.confirm('The following error occured while processing an AJAX request: ' + err.message + '\n\nWould you like to see the response?'))
                {
                    var w = window.open();
                    w.document.open('text/plain');
                    w.document.write(x.responseText);
                   w.document.close();
               }

               result = new Object();
               result.error = 'An AJAX error occured.  The response is invalid.';
           }

           clientCallBack(result);            
       }
   }
   var encodedData = "Ajax_CallBackType=" + type;
   if (id) {
       encodedData += "Ajax_CallBackID=" + id.split("$").join(":");
   }
   encodedData += "Ajax_CallBackMethod=" + method;
   if (args) {
       for (var i in args) {
           encodedData += "Ajax_CallBackArgument" + i + "=" + encodeURIComponent(args[i]);
       }
   }
   //如果加入控件,則加入控件數(shù)據(jù)。
   if (includeControlValuesWithCallBack  document.forms.length > 0) {
       var form = document.forms[0];
       for (var i = 0; i  form.length; ++i) {
           var element = form.elements[i];
           if (element.name) {
               var elementValue = null;
               if (element.nodeName == "INPUT") {
                   var inputType = element.getAttribute("TYPE").toUpperCase();
                   if (inputType == "TEXT" || inputType == "PASSWORD" || inputType == "HIDDEN") {
                       elementValue = element.value;
                   } else if (inputType == "CHECKBOX" || inputType == "RADIO") {
                       if (element.checked) {
                           elementValue = element.value;
                       }
                   }
               } else if (element.nodeName == "SELECT") {
                   elementValue = element.value;
               } else if (element.nodeName == "TEXTAREA") {
                   elementValue = element.value;
               }
               if (elementValue) {
                   encodedData += "" + element.name + "=" + encodeURIComponent(elementValue);
               }
           }
       }
   }
   //如果是調(diào)試,則彈出發(fā)送的數(shù)據(jù)。
   if (debugRequestText) {
       alert(encodedData);
   }
   x.send(encodedData);//向服務(wù)器發(fā)送數(shù)據(jù)。
   if (!clientCallBack) {
       if (debugResponseText) {
           alert(x.responseText);
       }
       result = eval("(" + x.responseText + ")");
       if (debugErrors  result.error) {
           alert("error: " + result.error);
       }
   }
   delete x;
   return result;
}

//Ajax End
 其他的不用多說明了,看注釋應(yīng)該就差不多了,如果有不對(duì)的地方請(qǐng)批評(píng)指教,謝謝!
您可能感興趣的文章:
  • jQuery 利用$.ajax 時(shí)獲取原生XMLHttpRequest 對(duì)象的方法
  • AJAX XMLHttpRequest對(duì)象詳解
  • 解析ajax核心XMLHTTPRequest對(duì)象的創(chuàng)建與瀏覽器的兼容問題
  • 如何用ajax來創(chuàng)建一個(gè)XMLHttpRequest對(duì)象
  • jquery ajax學(xué)習(xí)筆記2 使用XMLHttpRequest對(duì)象的responseXML
  • AJAX中同時(shí)發(fā)送多個(gè)請(qǐng)求XMLHttpRequest對(duì)象處理方法
  • AJax 學(xué)習(xí)筆記一(XMLHTTPRequest對(duì)象)
  • ajax 入門基礎(chǔ)之 XMLHttpRequest對(duì)象總結(jié)
  • AJAX XMLHttpRequest對(duì)象創(chuàng)建使用詳解

標(biāo)簽:深圳 崇左 晉城 銅川 西藏 伊春 威海 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《AJAX客戶端說明,XMLHttpRequest對(duì)象》,本文關(guān)鍵詞  AJAX,客戶端,說明,XMLHttpRequest,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《AJAX客戶端說明,XMLHttpRequest對(duì)象》相關(guān)的同類信息!
  • 本頁收集關(guān)于AJAX客戶端說明,XMLHttpRequest對(duì)象的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲国产成人av| 国产欧美日韩不卡| 九色|91porny| 一本一本大道香蕉久在线精品| 日韩手机在线导航| 亚洲欧美一区二区三区孕妇| 玖玖九九国产精品| 色诱视频网站一区| 久久―日本道色综合久久| 亚洲高清久久久| www.欧美亚洲| 欧美电影免费观看高清完整版在线观看 | 亚洲精品视频在线| 国产高清不卡一区| 日韩欧美中文一区二区| 亚洲一区视频在线观看视频| 成人黄色在线看| 久久在线观看免费| 免费观看久久久4p| 欧美日韩国产免费一区二区| 亚洲精品乱码久久久久久日本蜜臀| 国产精品一二三区| 久久色视频免费观看| 国产精品午夜在线| 国产精品影视网| 欧美日韩精品福利| 亚洲精品自拍动漫在线| 波多野结衣的一区二区三区| 国产亚洲一区二区三区四区| 久草热8精品视频在线观看| 欧美日韩国产免费一区二区| 一区二区三区免费网站| 91蝌蚪porny| 亚洲天堂2014| 成人精品小蝌蚪| 国产日韩欧美综合在线| 激情综合色综合久久综合| 在线播放91灌醉迷j高跟美女| 亚洲最快最全在线视频| 色婷婷综合久久久久中文| 亚洲欧美区自拍先锋| 不卡的电视剧免费网站有什么| 国产人久久人人人人爽| 国产成人精品影视| 国产精品久久午夜| 99精品国产99久久久久久白柏| 亚洲欧洲韩国日本视频| 99久久精品99国产精品| 日韩理论在线观看| 91色porny在线视频| 亚洲青青青在线视频| 91日韩一区二区三区| 日韩午夜在线播放| 肉色丝袜一区二区| 欧美一级黄色片| 理论电影国产精品| 久久婷婷久久一区二区三区| 国产传媒日韩欧美成人| 国产精品麻豆欧美日韩ww| 91视频com| 午夜视频一区在线观看| 日韩一区二区三区视频在线| 蜜桃av一区二区三区电影| 26uuu国产日韩综合| 欧美丝袜第三区| 日韩av网站免费在线| 欧美tk—视频vk| 成人av在线播放网站| 一区二区国产视频| 欧美一区二区久久久| 国产专区综合网| 中文字幕一区二区三区色视频| 一本一道久久a久久精品 | 日韩欧美另类在线| 成人在线视频一区| 一区二区三区在线影院| 欧美一区二区三区在| 国产伦精品一区二区三区免费迷 | 欧美一区二区三区小说| 国产精品一区二区你懂的| **欧美大码日韩| 欧美日韩国产电影| 国产尤物一区二区在线| 亚洲色图色小说| 777奇米四色成人影色区| 国产综合久久久久久久久久久久| 成人欧美一区二区三区| 91精品中文字幕一区二区三区| 激情偷乱视频一区二区三区| 中文字幕一区在线| 欧美日韩中文字幕一区二区| 国产一区中文字幕| 一区二区三区自拍| 亚洲精品在线电影| 色婷婷久久久综合中文字幕| 日本不卡123| 免费在线一区观看| 成人理论电影网| 日产国产欧美视频一区精品 | 91官网在线免费观看| 韩国av一区二区三区在线观看| 亚洲女人小视频在线观看| 日韩女优电影在线观看| 色伊人久久综合中文字幕| 激情国产一区二区| 亚洲一区二区三区影院| 国产亚洲污的网站| 在线电影一区二区三区| 99久久精品免费看| 国内成人自拍视频| 视频一区在线视频| 国产精品成人在线观看 | 国产高清无密码一区二区三区| 亚洲国产一区二区三区| 国产亚洲精品久| 欧美精三区欧美精三区| 99在线精品一区二区三区| 激情五月激情综合网| 午夜久久久影院| 1区2区3区欧美| 久久久久久综合| 91精品国产黑色紧身裤美女| 91网站在线播放| 国产麻豆成人精品| 男女男精品视频| 亚洲超碰精品一区二区| 中文字幕中文字幕一区| 久久免费的精品国产v∧| 91精品国产一区二区三区 | 国产一区美女在线| 日韩电影在线一区二区三区| 亚洲精品视频观看| 国产精品狼人久久影院观看方式| www国产成人| 日韩一区二区三免费高清| 91黄色在线观看| 99re免费视频精品全部| 成人深夜视频在线观看| 九九精品一区二区| 免费高清在线视频一区·| 亚洲国产精品一区二区www在线| 日韩理论片网站| 亚洲欧洲日韩在线| 国产精品国产三级国产普通话99| 国产亚洲精品超碰| 久久精品一区四区| 久久久久高清精品| 久久久久久夜精品精品免费| 亚洲精品一线二线三线无人区| 日韩精品中文字幕在线不卡尤物 | 一本久久a久久免费精品不卡| 成人综合在线视频| 国产成人在线网站| 91九色最新地址| 国产一区二区不卡老阿姨| 艳妇臀荡乳欲伦亚洲一区| 亚洲美女电影在线| 国产精品视频看| 欧美人牲a欧美精品| 国产成人综合网| 狠狠色丁香婷婷综合| 精品欧美一区二区久久| 99国产精品99久久久久久| av在线不卡免费看| eeuss国产一区二区三区| 99精品热视频| 色综合中文字幕国产| www.亚洲精品| 99精品视频一区二区| 色妹子一区二区| 欧美日韩在线免费视频| 欧美一区二区人人喊爽| www亚洲一区| 中文字幕电影一区| 亚洲天堂福利av| 亚洲成人免费电影| 免费在线一区观看| 国产美女av一区二区三区| 成人黄色a**站在线观看| 色成人在线视频| 欧美日本乱大交xxxxx| 欧美电影免费提供在线观看| 国产欧美视频一区二区| 国产精品家庭影院| 亚洲一区av在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲欧美综合色| 一区二区免费在线播放| 奇米在线7777在线精品| 国产成人小视频| 91麻豆蜜桃一区二区三区| 在线免费观看日韩欧美| 欧美一级搡bbbb搡bbbb| 国产亚洲欧美中文| 亚洲欧洲综合另类在线| 欧美a级理论片| 成人晚上爱看视频| 欧美日韩国产在线观看| 欧美电视剧免费观看| 国产精品伦理在线|