<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    javaGrowing

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      92 隨筆 :: 33 文章 :: 49 評論 :: 0 Trackbacks

    出處:http://www.smallrain.net/study_show.asp?id=703

    <div id="Error"></div>
    <div id="State"></div>
    <div id="DownloadEnd"></div>
    <Script Language="JavaScript">
    <!--
    // more javascript from http://www.smallrain.net

    function Ajax(OnError,OnState,OnDownloadEnd)
    {
    ?// 錯誤字符串
    ?this.ErrorStr ??= null;
    ?// 錯誤事件驅(qū)動,當發(fā)生錯誤時觸發(fā)
    ?this.OnError ??= OnError;
    ?// 狀態(tài)事件驅(qū)動,當狀態(tài)改變時觸發(fā)
    ?this.OnState ??= OnState;
    ?// 完成事件驅(qū)動,當類操作完成時觸發(fā)
    ?this.OnDownloadEnd ?= OnDownloadEnd;

    ?// XMLHTTP 發(fā)送數(shù)據(jù)類型 GET 或 POST
    ?this.method??= "GET";
    ?// 將要獲取的URL地址
    ?this.URL??= null;
    ?// 指定同步或異步讀取方式(true 為異步,false 為同步)
    ?this.sync??= true;
    ?// 當method 為 POST 時 所要發(fā)送的數(shù)據(jù)
    ?this.PostData??= null
    ?// 返回讀取完成后的數(shù)據(jù)
    ?this.RetData ??= null;

    ?// 創(chuàng)建XMLHTTP對像
    ?this.HttpObj ??= this.createXMLHttpRequest();
    ?if(this.HttpObj == null)
    ?{
    ??// 對像創(chuàng)建失敗時中止運行
    ??return;
    ?}

    ?var Obj = this;
    ?// 調(diào)用事件檢測
    ?this.HttpObj.onreadystatechange = function()
    ?{
    ??Ajax.handleStateChange(Obj);
    ?}
    }

    // UTF 轉(zhuǎn)入 GB (by:Rimifon)
    Ajax.prototype.UTFTOGB = function(strBody)
    {
    ?var Rec=new ActiveXObject("ADODB.RecordSet");
    ?Rec.Fields.Append("DDD",201,1);
    ?Rec.Open();
    ?Rec.AddNew();
    ?Rec(0).AppendChunk(strBody);
    ?Rec.Update();
    ?var HTML=Rec(0).Value;
    ?Rec.Close();
    ?delete Rec;
    ?return(HTML);
    }

    // 創(chuàng)建XMLHTTP對像
    Ajax.prototype.createXMLHttpRequest = function()
    {
    ?if (window.XMLHttpRequest)
    ?{
    ??//Mozilla 瀏覽器
    ??return new XMLHttpRequest();
    ?}
    ?else if (window.ActiveXObject)
    ?{
    ??????? ?var msxmls = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
    ??????? ?for (var i = 0; i < msxmls.length; i++)
    ??????? ?{
    ??????????????? ?try
    ??????????????? ?{
    ??????????????????????? ?return new ActiveXObject(msxmls[i]);
    ??????????????? ?}catch (e){}

    ??}
    ?}
    ?this.ErrorStr = "你的瀏覽器不支持XMLHttpRequest對象."
    ?if(this.OnError)
    ?{
    ??this.OnError(this.ErrorStr);
    ?}
    ??? ?return null;
    }

    // 發(fā)送HTTP請求
    Ajax.prototype.send = function()
    {

    ?if (this.HttpObj !== null)
    ?{
    ??this.URL = this.URL + "?t=" + new Date().getTime();
    ??this.HttpObj.open(this.method, this.URL, this.sync);
    ??if(this.method.toLocaleUpperCase() == "GET")
    ??{
    ???this.HttpObj.send(null);
    ??}
    ??else if(this.method.toLocaleUpperCase() == "POST")
    ??{
    ???this.HttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    ???this.HttpObj.send(this.PostData);
    ??}
    ??else
    ??{
    ???this.ErrorStr = "錯誤的[method]命令."
    ???if(this.OnError)
    ???{
    ????this.OnError(this.ErrorStr);
    ???}
    ???return;
    ??}

    ??if (this.HttpObj.readyState == 4)
    ??{
    ???// 判斷對象狀態(tài)
    ??????????? ??if (this.HttpObj.status == 200)
    ??????????????? ?{
    ????this.RetData = this.UTFTOGB(this.HttpObj.responseBody);
    ????if(this.OnDownloadEnd)
    ????{
    ?????this.OnDownloadEnd(this.RetData);
    ????}
    ??????????????????????? ?return;
    ??????????????? ?}
    ???else
    ???{
    ????this.ErrorStr = "您所請求的頁面有異常."
    ????if(this.OnError)
    ????{
    ?????this.OnError(this.ErrorStr);
    ????}
    ????return;
    ???}
    ??}

    ?}

    }

    // 事件檢測
    Ajax.handleStateChange = function(Obj)
    {
    ?if(Obj.OnState)
    ?{
    ??Obj.OnState(Obj.HttpObj.readyState);
    ?}

    ?if (Obj.HttpObj.readyState == 4)
    ?{
    ??// 判斷對象狀態(tài)
    ??????????? ?if (Obj.HttpObj.status == 200)
    ??????????????? {
    ???Obj.RetData = Obj.UTFTOGB(Obj.HttpObj.responseBody);
    ???if(Obj.OnDownloadEnd)
    ???{
    ????Obj.OnDownloadEnd(Obj.RetData);
    ???}
    ??????????????????????? return;
    ??????????????? }
    ??else
    ??{
    ???Obj.ErrorStr = "您所請求的頁面有異常."
    ???if(Obj.OnError)
    ???{
    ????Obj.OnError(Obj.ErrorStr);
    ???}
    ???return;
    ??}
    ?}
    }


    // 錯誤回調(diào)事件函數(shù)
    function EventError(strValue)
    {
    ?document.getElementById("Error").innerHTML = strValue;
    }

    // 狀態(tài)回調(diào)事件函數(shù)
    function EventState(strValue)
    {
    ?var strState = null;
    ?switch (strValue)
    ?{
    ?? ??case 0:
    ??strState = "未初始化...";
    ??break;

    ?? ??case 1:
    ??strState = "開始讀取數(shù)據(jù)...";
    ??break;

    ?? ??case 2:
    ??strState = "讀取數(shù)據(jù)...";
    ??break;

    ?? ??case 3:
    ??strState = "讀取數(shù)據(jù)中...";
    ??break;

    ?? ??case 4:
    ??strState = "讀取完成...";
    ??break;

    ?? ??default:
    ??strState = "未初始化...";
    ??break;
    ?}
    ?document.getElementById("State").innerHTML = strState;
    }

    // 完成回調(diào)事件函數(shù)
    function EventDownloadEnd(strValue)
    {
    ?document.getElementById("DownloadEnd").innerHTML = strValue;
    }


    // 初始化Ajax對像,引入事件回調(diào)函數(shù)
    var A1 = new Ajax(EventError,EventState,EventDownloadEnd);
    // 指定method數(shù)據(jù)發(fā)送類型
    A1.method = "GET";
    // 指定URL地址
    A1.URL = "// 指定為異步處理
    A1.sync = true;
    //發(fā)送請求
    A1.send();
    //-->
    </Script>?

    主站蜘蛛池模板: 九九久久国产精品免费热6| 久久久久久成人毛片免费看| 国产亚洲老熟女视频| 久久国产精品免费网站| 亚洲人成人伊人成综合网无码| 日韩亚洲精品福利| 91精品导航在线网址免费| 亚洲AV无码AV吞精久久| 亚洲av无码成人黄网站在线观看| 很黄很色很刺激的视频免费| 色老头综合免费视频| 亚洲狠狠ady亚洲精品大秀| 免费女人18毛片a级毛片视频| 免费国产成人18在线观看| 亚洲国产精品网站在线播放| 亚洲成av人片天堂网| 国产精品免费看香蕉| 57pao国产成视频免费播放| 无码免费又爽又高潮喷水的视频| 亚洲免费在线视频观看| 自拍偷自拍亚洲精品情侣| 好吊妞在线成人免费| 日韩免费高清大片在线| 国产A∨免费精品视频| 亚洲欧洲av综合色无码| 亚洲AV无码一区东京热久久| 亚洲 自拍 另类小说综合图区| 成年网站免费视频A在线双飞| 久久99久久成人免费播放| MM1313亚洲国产精品| 亚洲精品人成网在线播放影院| 久久精品亚洲综合专区| 亚洲综合色视频在线观看| 免费看美女让人桶尿口| 亚洲一级免费视频| 亚洲免费在线视频| 国产午夜无码精品免费看| 特色特黄a毛片高清免费观看| 亚洲欧美成aⅴ人在线观看| 67pao强力打造67194在线午夜亚洲| 久久亚洲2019中文字幕|