国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 開發 > XML > 正文

XMLHTTP對象封裝技術

2024-09-05 20:53:56
字體:
來源:轉載
供稿:網友
ajax技術的實現主要依賴于xmlhttprequest,但我們在調用其來進行異步數據的傳輸時,由于xmlhttp是個短線過程(處理事件完成后就銷毀)如果不對該對象進行包裝處理的話,就不得不在需要調用的地方重新構建xmlhttprequest,每次調用都要寫一大段的代碼,實在不是個好辦法。好在現在很多開源的ajax框架都提供了對xmlhttp封裝的方案。這里以ajaxtags自帶的prototype-1.4.0.js為母版,來看看如何將xmlhttp對象封裝成一個可復用的方法。
  
   在prototype.js中,首先定義了一個變量:ajax
   var ajax = {
   gettransport: function() {
   return try.these(
   function() {return new activexobject('msxml2.xmlhttp')},
   function() {return new activexobject('microsoft.xmlhttp')},
   function() {return new xmlhttprequest()}
   ) || false;
   },
  
   activerequestcount: 0
  }
  變量返回了一個xmlhttprequest,可以看到,如果我們調用了ajax.gettransport(),每次都會返回一個新的xmlhttprequest對象。
   在ajax變量中定義了一個基礎方法ajax.base和該基礎方法的原型(初始時,每個腳本方法默認都有個空的原型,該原型會繼承object的原型,如果我們在object中改變了原型,則所有的腳本方法都會被改變。) 該基礎方法被ajax.request所繼承,注意的是,如果在ajax.request中填充了繼承的原型的同名方法或變量,則會實現重載。
   ajax.base原型中最主要的是setoptions方法,過會我們就會用到。
  setoptions: function(options) {
   this.options = {
   method: 'post',
   asynchronous: true,
   parameters: ''
   }
   prototype中對request是通過定義ajax.request原型(ajax.request.prototype)來實現的。但我們并不能直接對ajax.request進行調用,主要原因是ajax.request并沒有提供一個統一處理的過程。而且我們可能需要通過request 再取得response。(試想一下,客戶那邊發出一條信息,都始終沒與收到回復,那是會讓人覺得很惱火的事~),prototype同樣為我們封裝好了resoponse(ajax.responders),但兩者都是相互獨立的,如何把他們進行整合呢?
  
   在 prototype中給我們提供了兩個方案,一個是ajax.updater,另一個是ajax.periodicalupdater,兩個共同點都是必須傳入3個參數:
  container:
   response數據要傳達的位置,該位置通過html標簽的id進行定義,比如你要把返回的數據輸出到html中的某個<div>中,則只要把container改成該id的值就可以了。如果找不到該container,則會發生腳本錯誤。
  url:
   request請求要傳遞的目的地。該目的地應該是個servlet或jspservlet,因為request對象只能被servlet中的do***方法自動獲取。
  options:
   結構應該與上面ajax.base定義的setoptions()中的option結構相同,如果為空或不寫,則采用 ajax.base定義的初始值(沒有傳遞任何參數時使用)。
   兩者的區別在與ajax.updater返回給container的是完整的responsetext,只有在responsetext完全取得又沒發生異常時才會把內容寫到container里面,而periodicalupdater在獲取responsetext時,不管是否已經完整取得,就把內容填進container,直到發生異常或完全取得responsetext。大多數情況應該使用第一種方法,因為第一種方法在發生異常時會把異常信息顯示在container里面,而第二種就不一定了。
   既然已經把xmlhttp封裝好了,我們只需要設置好前面所說的3個參數就可以了,要注意的是,設置options參數,一定要按照base中的options結構進行設置,如果我們使用post方法,還可以在opitons中設置postbody屬性,把要傳遞的querystring 放到body中,一個使用post方法進行傳遞的腳本例子如下:
  
  
  
   /*表單提交用post方法*/
   function dorequest(container,paraments,url){
   var options ={
   method: 'post',
   asynchronous: true,
   postbody: paraments
   };
   new ajax.updater(container,url,options);
   }
  
  最后不得不說的是中文編碼問題,prototype對傳遞的參數都進行了編碼轉換工作,每個傳遞值通過encodeuricomponent 進行了處理.編碼會被轉換成utf-8,在后臺獲取request時,應該統一使用request.setcharacterencoding("utf-8")對request設置編碼,而不必管頁面的編碼格式是什么.如果使用post方法進行傳遞數據,則會自動執行:
   request.setheader('content-type','application/x-www-form-urlencoded').確保傳遞數據編碼格式的正確.

中國最大的web開發資源網站及技術社區,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
中文字幕在线影院| 国产三级自拍| 国产欧美日韩专区| 九九热免费在线视频| 国产秀色在线www免费观看| 高清av在线| 亚洲国产成人综合| 国产永久av在线| 在线视频三级| 国产乱妇乱子在线播视频播放网站| 国产高清视频免费最新在线| 快射av在线播放一区| 国产精品毛片一区二区三区四区| 精品卡一卡卡2卡3网站| 国产美女在线一区二区三区| 四虎成人欧美精品在永久在线| 国产高清在线| 国产精品你懂的在线观看| a级片国产精品自在拍在线播放| 国产欧美日韩第一页| 蜜桃视频中文字幕| 免费看成年人视频在线观看| www操操操| 狠狠干在线视频| 四虎国产精品永久| jizz性欧美| h网站久久久| 国产在线视频精品视频免费看| 亚洲网站一区| wwwww亚洲| 国内外激情在线| 中文字幕视频在线观看| 久草视频国产| 久草在线资源福利| 国产免费av高清在线| 国产精品久久久精品a级小说| 精品街拍一区二区| 免费三级毛片| 国产一级又黄| 亚洲字幕成人中文在线观看| 四虎成人精品在永久在线观看| 四虎精品成人a在线观看| 天天草天天爽| 国产黄色免费电影| 中文字幕视频在线观看| 中文字幕在线视频观看| 最新中文字幕av专区| 国产一区二区三区美女秒播| 激情丁香在线| 国产乱视频在线观看播放| 国产永久免费高清在线观看视频| 九九精品视频在线观看九九| 超碰免费在线观看| 中文字幕免费中文| 国产激情视频在线| 亚洲精品一区中文字幕电影| 麻豆精品免费视频入口| 天天操夜夜操天天射| 国产精品视频福利一区二区| 中文av资源在线| 九色成人在线| 国产xxxxx| 国产主播色在线| 国产高清在线| av在线免费播放网站| 天天av天天爱| 精品欧美日韩一区二区| 免费电影网站在线视频观看福利| 国产中文在线视频| 国产福利在线视频| 男人天堂亚洲| 91精品大全| 好看的中文字幕在线播放| 国产高清av| 蜜桃视频网站在线| 国产成人精品18| 黄色片av在线| 亚洲视频精品在线观看| 国产免费电影网站入口| 18被视频免费观看视频| 成在在线免费视频| 国产高清av| 国产原创在线播放| 日本在线观看| 97视频在线| 国产精品视频一区麻豆| 国产理论片免费观看| gogo高清在线播放免费| 国产va在线观看| 国产三级视频在线看| 狠狠狠狠狠狠操| www.三区| 欧美日韩在线资源| 伊人影院在线观看| 69久久精品| 国产成人夜间影院在线观看| 国产午夜在线视频| 国产欧美日韩第一页| 最新黄网在线观看| 国产一级性片| 国产写真视频在线观看| 国产三级在线免费| 国产区视频在线| 国产高清av在线| 精品999视频| av激情在线| 日本黄在线观看| xxxxx中文字幕| www.夜夜操| 日本一本久久| 欧美日韩国产亚洲沙发| 青青久在线视频免费观看| 亚洲妇熟xxxx妇色黄| 亚洲夜夜综合| xxxxx中文字幕| 久草一本av| 中文字幕日本在线| 国产欧美日本亚洲精品一4区| 国产黄色片在线观看| 999精品网| 青青草原国产在线观看| 九九热视频免费观看| 国产三级在线播放| 精品99又大又爽又硬少妇毛片| 中文在线视频观看| 超碰91在线| 国产二区视频| 免费观看久久久久| 国产黄色片在线播放| www.毛片| 国产高清在线观看| 蜜桃视频中文字幕| 国产成人午夜| 丁香花在线电影小说观看| 国产高清一级片| 国产综合视频一区二区三区免费| 国产精品18久久久久久久久久 | 国产精品186在线观看在线播放 | 91黄色在线| 最近中文字幕av免费高清 | av在线1区2区| 中文字幕在线第一页| 色欧美在线观看| 精品亚洲成a人片在线观看| 超碰免费在线播放| av在线播放av| 国产成a人亚洲精v品| 高清av在线| 日本精品一区二区三区在线播放| 国产精品爱久久久久久久小说| 九九热精品在线视频| 天天插天天干| jizz一区二区三区| 四虎一区二区三区| 亚洲精品天堂在线观看| av黄色在线观看| 国产对白叫床清晰在线播放| 国产一区二区在线|播放| 成人免费一区二区三区视频网站| 午夜影院在线免费观看| 在线视频观看亚洲| 999在线视频| 在线国产一级| 国产成人精品综合网站| 国产高清视频在线观看| 国产激情小视频在线| 国产成人无吗| 在线观看免费观看在线91| 伊人永久在线| 欧美日韩不卡中文字幕在线| 免费电影网站在线视频观看福利| 日本不卡影院| 日本中文字幕视频| 国产激情视频在线| 亚洲综合色视频在线观看 | www.91av| 高潮白浆视频| 国产在线免费观看| 国产视频福利在线| 在线视频中文字幕| 狠狠狠狠狠狠操| 91啦中文在线| 超碰在线影院| 最近最好的中文字幕2019免费 | 国产精选在线视频拍拍拍| 国产三级做爰在线观看| 中文av资源在线| 免费日本黄色| 91蜜桃在线视频| 国产中文字幕在线播放| 国产白浆在线| 国产麻豆一级片| 亚洲xxxxxx| 18被视频免费观看视频| 九九热在线免费视频| 中文在线视频观看| 国产一区二区三区美女秒播| www亚洲天堂| 亚洲视频手机在线观看| 中文字幕日本在线观看|