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

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

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

    將Ajax包裝成對(duì)象使用

    ?? Ajax目前是社區(qū)內(nèi)最熱門的話題之一了,最近在我們的項(xiàng)目中用了大量的Ajax,現(xiàn)在把我們的使用方法在這兒寫出來,希望大家能指教。

    因?yàn)橐玫紸jax就肯定要用到XMLHttpRequest對(duì)象,但由于不同的瀏覽器版本,相應(yīng)的生成它的方法也有所不同,所以我們不得不對(duì)瀏覽器的版本進(jìn)行判斷,試想,如果我們要在很多地方都要寫那些繁瑣的代碼會(huì)覺的很麻煩,代碼的重用也很低,所以我們寫一個(gè)Ajax的對(duì)象。代碼如下:

    //*********************************************************
    // 目的:??? AJAX類
    // 輸入:??? 無
    // 返回:??? 返回XMLHttp對(duì)象
    // 例子:??? var myConn = new XHConn();
    //
    //?????????? if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    //
    //?????????? var fnWhenDone = function (oXML) { alert(oXML.responseText); };
    //
    //?????????? myConn.connect("mypage.php", "POST", "foo=bar&baz=qux", fnWhenDone);
    //
    //*********************************************************
    function XHConn()
    {
    ? var xmlhttp = false, bComplete = false;
    ? try
    ? {
    ? ?xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    ? }
    ? catch (e)
    ? {
    ? ?try
    ? ?{
    ? ??xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    ? ?}
    ??? catch (e)
    ??? {
    ? ??try
    ? ??{
    ? ???xmlhttp = new XMLHttpRequest();
    ? ??}
    ? ??catch (e)
    ? ??{
    ? ???xmlhttp = false;
    ? ??}
    ? ?}
    ? }
    ? if (!xmlhttp) return null;
    ? this.connect = function(sURL, sMethod, sVars, fnDone)
    ? {
    ??? if (!xmlhttp) return false;
    ??? bComplete = false;
    ??? sVars = (sVars == '') ? Math.random() : sVars + "&" + Math.random();
    ??? sMethod = sMethod.toUpperCase();

    ??? try
    ??? {
    ????? if (sMethod == "GET")
    ????? {
    ??????? xmlhttp.open(sMethod, sURL+"?"+sVars, true);
    ??????? xmlhttp.setRequestHeader("Content-Type", "text/html;charset=GB2312");
    ??????? sVars = "";
    ????? }
    ????? else
    ????? {
    ??????? xmlhttp.open(sMethod, sURL, true);
    ??????? xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
    ??????? xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ????? }
    ????? xmlhttp.onreadystatechange = function()
    ????? {
    ??????? if (xmlhttp.readyState == 4 && !bComplete)
    ??????? {
    ????????? bComplete = true;
    ????????? fnDone(xmlhttp);
    ??????? }
    ????? };
    ?????
    ????? xmlhttp.send(sVars);
    ??? }
    ??? catch(z)
    ??? {
    ??? ?return false;
    ??? }
    ??? return true;
    ? };
    ?
    ? return this;
    }


    通過這個(gè)對(duì)象,我們把那些繁瑣的代碼都封裝到里面,這樣大大提高了代碼的重用性,每次要用Ajax時(shí)我們只需要在我們的頁面上 new一個(gè)XHConn()對(duì)象就行了,然后通過調(diào)用它的方法connect(sURL, sMethod, sVars, fnDone)就可以和服務(wù)器進(jìn)行異步交互了。



    posted on 2006-06-09 16:50 nbt 閱讀(300) 評(píng)論(0)  編輯  收藏 所屬分類: Ajax技術(shù)


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    收藏夾

    Java技術(shù)網(wǎng)站

    友情鏈接

    國(guó)內(nèi)一些開源網(wǎng)站

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 久草视频在线免费看| a毛片基地免费全部视频| 国产精品亚洲一区二区三区在线| 中文字幕在线免费视频| 亚洲高清无在码在线电影不卡| 在线免费观看一区二区三区| 国产精品福利在线观看免费不卡| 亚洲天堂电影在线观看| 亚洲无线观看国产精品| 精品免费人成视频app| 久久精品视频免费播放| 亚洲国产av玩弄放荡人妇| 亚洲精品无码专区久久久| 亚洲情a成黄在线观看| 免费看香港一级毛片| 精品四虎免费观看国产高清午夜| 国产精品玖玖美女张开腿让男人桶爽免费看 | 2022国内精品免费福利视频| 亚洲二区在线视频| 亚洲美女激情视频| 亚洲精品视频专区| 亚洲一区二区三区偷拍女厕| 伊人久久大香线蕉亚洲| 青青青国产色视频在线观看国产亚洲欧洲国产综合| 性短视频在线观看免费不卡流畅| 曰批全过程免费视频播放网站 | 日韩精品内射视频免费观看| 久久精品国产免费| 亚洲综合免费视频| 国产免费av片在线看| 国产精品久免费的黄网站| 亚洲人成网亚洲欧洲无码久久| 亚洲AV永久无码区成人网站| 国产精品亚洲w码日韩中文| 亚洲AV日韩AV永久无码免下载| 亚洲成AV人片一区二区| 亚洲三级高清免费| 中文字幕一区二区免费| 日韩精品人妻系列无码专区免费 | 亚洲夜夜欢A∨一区二区三区| 国产亚洲精品久久久久秋霞|