亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Ajax

2019-11-14 15:36:08
字體:
來源:轉載
供稿:網友

1.什么是Ajax?   (asynchronous javascript and xml)
    是一種用來改善用戶體驗的技術,其實質是利用瀏覽器提供的一個特殊對象(xmlhttpRequest)異步地向服務器發送請求,
    服務器返回部分數據,瀏覽器利用這些數據對當前頁面做局部更新,整個過程,頁面無刷新,不打斷用戶的操作。
    注:
        異步: 當ajax對象(XMLHttPRequest)向服務器發送請求的時候,瀏覽器不會銷毀當前頁面,用戶仍然可以對當前頁面做其它操作
使用BS結構時:

old-web

使用AJAX工作原理:

ajax-web

2.ajax對象
    (1)如何獲得該對象?
         function getXhr(){
              var xhr = null;
              if(window.XMLHttpRequest){
                  xhr = new XMLHttpRequest();
              }else{
                  xhr = new ActiveXObject('microsoft.XMLHttp');
              }
              return xhr;
          }
    (2)幾個重要屬性
        1)onreadystatechange:綁訂事件處理函數,用來處理readystatechange事件。
            注:
                當ajax對象的readystate屬性值發生了改變,比如從0變成了1,就會產生該事件。
        2)readyState:有五個值,分別是0,1,2,3,4,表示ajax對象通信的狀態,其中,4表示ajax對象已經獲得了服務器返回的所有的數據。
        3)responseText:獲得服務器返回文本數據。
        4)responseXML:獲得服務器返回的xml文檔。
        5)status:獲得狀態碼。     
3.編程步驟
    step1,獲得ajax對象
    比如: var xhr = getXhr();
    step2,發送請求
      1)get請求
        xhr.open('get','check_uname.do?username=Tom',true);
        xhr.onreadystatechange=f1;   
        xhr.send(null);
       注
           true:異步地(當ajax對象(XMLHttpRequest)向服務器發送請求的時候,瀏覽器不會銷毀當前頁面,用戶仍然可以對當前頁面做其它操作)。
           false:同步地(當ajax對象(XMLHttpRequest)向服務器發送請求的時候,瀏覽器不會銷毀當前頁面,瀏覽器會鎖定當前頁面,用戶不
                   能夠對當前頁面做其它操作)。   

       2)post請求       
            xhr.open('post','check_uname.do',true);
            xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
            xhr.onreadystatechange=f1;
            xhr.send('username=Tom');
            注:
                ajax對象在發送post請求時,默認不會添加"content-type"消息頭,所以,需要調用setRequestHeader方法來手動添加。

    step3,編寫服務器端的處理程序。一般來說,服務器端不需要返回完整的頁面,只需要返回部分的數據。
    step4,事件處理函數   
            function f1(){
                //獲得服務器返回的部分數據
                if(xhr.readyState == 4 && xhr.status == 200){
                    var txt = xhr.responseText;
                    //更新頁面
                    ...
                }
            }

4.緩存問題
    (1)什么是緩存問題?
        ie瀏覽器在發送get請求時,會比較請求地址是否訪問過,如果訪問過,則不再發送新的請求,而是顯示之前的訪問的結果。
    (2)解決方式
        在請求地址后面添加上一個隨機數。

       xhr.open('get','shownumber.do?'+Math.random(),true);

5.編碼問題
   (1)get請求
        1)為什么會產生亂碼?
         對于中文參數值,ie瀏覽器會使用"gbk"來編碼,其它瀏覽器會使用"utf-8"來編碼。服務器端默認會使用"iso-8859-1"來解碼。
        2)如何解決?
            step1,服務器端統一使用"utf-8"來解碼。
                修改tomcat的server.xml文件<Connector URIEncoding="utf-8"/>
                注:只針對get請求有效。
            step2,使用encodeURI函數對請求參數進行編碼。
                注:encodeURI是一個內置的函數,會使用utf-8來編碼。 

                var uri = 'check.do?username='+$F('username');
                xhr.open('get',encodeURI(uri),true);

      
   (2)post請求
        1)為什么會產生亂碼?
            瀏覽器會使用"utf-8"來編碼。而服務器默認使用"iso-8859-1"來解碼。
        2)如何解決?
            request.setCharacterEncoding("utf-8");

6.json(Javascript object notation)
        www.json.org
    (1)json是什么?
       輕量級的數據交換格式
       1)數據交換
           將要交換的數據轉換成一種與平臺無關的數據格式(比如xml),然后交給接收方來處理。
       2)輕量級
           相對于xml,json文檔要更小,解析速度要更快。
     (2)基本語法
          1)表示一個對象
              {屬性名:屬性值,屬性名:屬性值...}

              var obj = {"name":"明樓","age":33};
              注:
                  a.屬性名必須使用雙引號括起來。
                  b.屬性值可以是string,number,true/false,null,object。
                  c.屬性值如果是string,必須使用雙引號括起來。
          2)表示由多個對象組成的數組
              [{},{},{}....]   

              var arr = [{"name":"明樓","age":23},{"name":"明臺","age":33}];
    (3)如何使用json?
        1)將java對象(或者java對象組成的數組或者集合)轉換成json字符串的形式。
            使用json提供的jar包JSONObject,JSONArray

            java對象:

    JSONObject obj =  JSONObject.fromObject(s);

     String jsonStr = obj.toString();

    java對象組成的數組或集合:

     JSONArray obj = JSONArray.fromObject(stocks);

     String jsonStr = obj.toString();

   2)將json字符串轉換成javascript對象(或者javascript對象組成的數組)。

            prototype.js提供的evalJSON()函數。
            $(id): 依據id查找節點。
            $F(id): 依據id查找節點,返回value。
            strip():除掉字符串兩端的空格。
            evalJSON():將json字符串轉換成javascript對象或者javascript對象組成的數組。

            json字符串轉換成javascript對象:

            var str = '{"code":"600015","name":"山東高速","price":10}';

            var obj = str.evalJSON();

            java字符串轉換成javascript對象組成的數組:

           var str = '[{"name":"明樓","age":23},{"name":"明臺","age":33}]';

            var arr = str.evalJSON();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97精品国产91久久久久久| 欧美日韩国产在线看| 亚洲a级在线观看| 亚洲男人天堂网| 久久人人爽人人爽人人片亚洲| 久久久国产视频91| 久久久久亚洲精品| 亚洲2020天天堂在线观看| 国产精品视频内| 亚洲最大福利网| 国产精品美女久久久久久免费| 欧美国产日韩二区| 亚洲人成伊人成综合网久久久| 欧美电影免费观看大全| 日韩亚洲国产中文字幕| 欧美在线一级va免费观看| 亚洲一区二区三区视频| 日韩欧美国产高清91| 97在线观看视频| 亚洲欧美国内爽妇网| 亚洲国产成人精品久久久国产成人一区| 日韩中文字幕在线播放| 一区二区三区回区在观看免费视频| 久久影院在线观看| 97视频国产在线| 狠狠色狠狠色综合日日小说| 国产精品三级美女白浆呻吟| 国产日韩精品一区二区| 欧美一区二粉嫩精品国产一线天| 国产精品尤物福利片在线观看| 最近2019好看的中文字幕免费| 97视频免费看| 亚洲最大av网站| 欧美插天视频在线播放| 欧美日韩国产精品一区二区三区四区| 国产乱肥老妇国产一区二| 欧美激情视频网站| 亚洲精品国产精品国自产观看浪潮| 亚洲精品综合久久中文字幕| 国产精品成人观看视频国产奇米| 欧美精品免费在线观看| 在线观看免费高清视频97| 一区二区国产精品视频| 亚洲xxx自由成熟| 国内精品在线一区| 九色精品美女在线| 欧美电影院免费观看| 亚洲天堂网站在线观看视频| 国产91精品久| 亚洲丁香久久久| 亚洲japanese制服美女| 成人做爰www免费看视频网站| 久久亚洲精品一区二区| 亚洲一二在线观看| 91久久久亚洲精品| 成人网址在线观看| 黑人巨大精品欧美一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美久久精品一级黑人c片| 国产精品久久激情| 中文字幕av一区二区三区谷原希美| 97婷婷大伊香蕉精品视频| 成人精品在线观看| 日韩激情av在线播放| 国产91精品网站| 国产深夜精品福利| 91麻豆国产精品| 国产视频丨精品|在线观看| 国产精品一区二区三区毛片淫片| 国产亚洲激情视频在线| 国内精品久久久久久| 夜夜嗨av一区二区三区四区| 成人免费激情视频| 成年无码av片在线| 精品视频—区二区三区免费| 国产精品99久久久久久久久| 亚洲а∨天堂久久精品9966| 日本精品久久电影| 国产国语刺激对白av不卡| 中文字幕亚洲图片| 久久综合色88| 日韩欧美中文免费| 在线色欧美三级视频| 2019中文字幕在线观看| 亚洲免费精彩视频| 国产精品视频网| 亚洲国产精品成人一区二区| 神马久久久久久| 欧美福利视频在线观看| 久久久久久91香蕉国产| 97在线观看免费| 国产精品免费久久久久影院| 久久综合久久美利坚合众国| 亚洲激情小视频| 久久精品国产成人精品| 欧美亚洲国产另类| 欧美大片网站在线观看| 久久免费精品日本久久中文字幕| 青草热久免费精品视频| 中文字幕日韩欧美精品在线观看| 日韩在线激情视频| 日韩欧美福利视频| 最近2019年好看中文字幕视频| 国产精品爱啪在线线免费观看| 欧美成人免费视频| 亚洲美女av网站| 欧美国产精品日韩| 亚洲电影免费观看| 欧美寡妇偷汉性猛交| 日韩成人激情在线| 国产精品久久久久久搜索| 色综合视频一区中文字幕| 久久九九有精品国产23| 亚洲免费视频在线观看| 亚洲a成v人在线观看| 亚州国产精品久久久| 国产精品久久久久久久久久久久久| 精品国偷自产在线视频99| 国产ts人妖一区二区三区| 欧洲成人在线观看| 欧美在线视频一二三| 日韩在线播放av| 欧美一区二三区| 亚洲香蕉在线观看| 国产欧美一区二区三区视频| 亚洲精品网址在线观看| 少妇高潮 亚洲精品| 欧美一区二三区| 一区二区三区四区精品| 欧美人与物videos| 国产99视频精品免视看7| 亚洲第一福利网| 国产精品久久99久久| 中文字幕日韩精品有码视频| 伊人男人综合视频网| 亚洲va男人天堂| 亚洲影视中文字幕| 亚洲国产91精品在线观看| 韩国三级电影久久久久久| 久久九九热免费视频| 不卡在线观看电视剧完整版| 久久综合网hezyo| 欧洲亚洲免费视频| 亚洲欧美日韩高清| 亚洲精品999| 国产精品极品尤物在线观看| 日韩在线激情视频| 国内精品久久久久影院 日本资源| 国产一区二区三区在线免费观看| 亚洲精品动漫久久久久| 久久久中精品2020中文| 欧美大片大片在线播放| 亚洲欧美在线磁力| 亚洲国产精品成人va在线观看| 国产精品羞羞答答| 国产亚洲精品美女| 亚洲欧美综合v| 岛国视频午夜一区免费在线观看| 永久免费看mv网站入口亚洲| 奇门遁甲1982国语版免费观看高清| 亚洲欧美日韩中文在线制服| 欧美日韩中文字幕综合视频| 92福利视频午夜1000合集在线观看| 欧美视频一区二区三区…|