<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>?

    主站蜘蛛池模板: 国产成人无码区免费网站| 最近高清国语中文在线观看免费| 亚洲成人精品久久| 最近中文字幕mv免费高清电影 | 男人天堂2018亚洲男人天堂| 国产极品粉嫩泬免费观看| baoyu122.永久免费视频| 亚洲小说图片视频| 亚洲高清偷拍一区二区三区| 最近免费mv在线电影| 日韩色视频一区二区三区亚洲| 亚洲精选在线观看| 亚洲av麻豆aⅴ无码电影| 久久久久免费看成人影片| 狠狠入ady亚洲精品| 久久夜色精品国产噜噜亚洲AV| 免费人成无码大片在线观看| 120秒男女动态视频免费| 日韩久久无码免费毛片软件| 亚洲人成网站在线观看播放动漫| 亚洲色偷偷综合亚洲AV伊人| 成人无码区免费视频观看| 免费国产在线视频| 免费在线观看一区| 在线观看日本亚洲一区| 久久国产精品亚洲综合| 中文字幕亚洲第一| 国产精品四虎在线观看免费| 最近中文字幕2019高清免费| h片在线观看免费| 18禁亚洲深夜福利人口| 中中文字幕亚洲无线码| 91亚洲导航深夜福利| 亚洲综合AV在线在线播放 | 亚洲精品福利视频| 亚洲国产精品嫩草影院久久 | 亚洲精品中文字幕无码AV| 亚洲综合伊人久久大杳蕉| av无码东京热亚洲男人的天堂| 免费中文熟妇在线影片| 永久黄色免费网站|