欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ajax重構(gòu)指的是什么

這篇“ajax重構(gòu)指的是什么”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“ajax重構(gòu)指的是什么”文章吧。

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),亞東網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:亞東等地區(qū)。亞東做網(wǎng)站價(jià)格咨詢:028-86922220

ajax重構(gòu)指的是在不改變軟件現(xiàn)有功能的基礎(chǔ)上,通過調(diào)整程序代碼改善軟件的質(zhì)量、性能,使其程序的設(shè)計(jì)模式和架構(gòu)更合理,提高軟件的擴(kuò)展性和維護(hù)性;Ajax的實(shí)現(xiàn)主要依賴于XMLHttpRequest對(duì)象,由于該對(duì)象的實(shí)例在處理事件完成后就會(huì)被銷毀,所以在需要調(diào)用它的時(shí)候就要重新構(gòu)建。

本文操作環(huán)境:windows10系統(tǒng)、javascript1.8.5&&html5版、Dell G3電腦。

什么是ajax重構(gòu)

重構(gòu)(Refactoring)就是在不改變軟件現(xiàn)有功能的基礎(chǔ)上,通過調(diào)整程序代碼改善軟件的質(zhì)量、性能,使其程序的設(shè)計(jì)模式和架構(gòu)更趨合理,提高軟件的擴(kuò)展性和維護(hù)性。

Ajax的核心對(duì)象是XMLHttpReguest,也就是說我們通過Ajax與服務(wù)器進(jìn)行交互,就必須要構(gòu)建XMLHttpRequest這個(gè)對(duì)象。

但是在頁面之中通過Ajax與服務(wù)器進(jìn)行交互,在交互之后XMLHttpReguest這個(gè)對(duì)象就會(huì)被銷毀。

所以我們頁面再次通過Ajax與服務(wù)器進(jìn)行交互,還需要重新的構(gòu)建XMLHttpRequest這個(gè)對(duì)象。

那么XMLHttpReguest這個(gè)對(duì)象的創(chuàng)建,我們需要考慮到瀏覽器的兼容性,所以說XMLHttpReguest的創(chuàng)建也是非常繁瑣的,需要根據(jù)不同瀏覽器的類型,來進(jìn)行不同方式的創(chuàng)建。

那么如果說我們?cè)诤芏嗟捻撁娑紤?yīng)用到了Ajax這種技術(shù),我們?cè)诤芏嗟捻撁娈?dāng)中都要來創(chuàng)建這個(gè)對(duì)象,這就體現(xiàn)不出OO(面向?qū)ο筮@種風(fēng)格,代碼的重復(fù)利用),面向?qū)ο笾刑岢a的重用,所以說我們通常情況下都會(huì)通過Ajax重構(gòu),來封裝XMLHttpReguest這個(gè)對(duì)象以及封裝一些對(duì)Ajax請(qǐng)求進(jìn)行處理的通用方法,那么我們?cè)诰帉懘a的時(shí)候就可以直接來引用這個(gè)對(duì)象,從而來達(dá)到代碼的重用,也節(jié)省了這個(gè)對(duì)象的創(chuàng)建時(shí)間

Ajax重構(gòu)步驟

1)創(chuàng)建一個(gè)單獨(dú)的JS文件,名字為AjaxRequest.js ,并且在該文件中編寫重構(gòu)Ajax所需的代碼

2)在 需要應(yīng)用Ajax的頁面中包括剛剛創(chuàng)建的AjaxRequest.js文件

3)在應(yīng)用Ajax的頁面中編寫錯(cuò)誤處理的方法,實(shí)例化Ajax對(duì)象的方法和回調(diào)函數(shù)

在jsp或html頁面之中我們編寫一段JavaScript的腳本代碼,那么可以在當(dāng)前的頁面當(dāng)中直接編寫JavaScript腳本代碼。也可以使用另外一種方式:創(chuàng)建js文件,然后將這個(gè)js文件引入到我們所編寫的jsp或者是html頁面當(dāng)中

示例如下:

(1)創(chuàng)建一個(gè)單獨(dú)的JS文件,命名為AjaxRequest.js,并且在該文件中編寫重構(gòu)Ajax所需要的代碼。

 var net = new Object();    //創(chuàng)建一個(gè)全局變量net
 //編寫構(gòu)造函數(shù)
 net.AjaxRequest = function(url,onload,onerror,method,params){
     this.req = null;
     this.onload = onload;
     this.onerror = (onerror) ? onerror : this.defaultError;
     this.loadDate(url,method,params);
 }
 //編寫用于初始化XMLHttpRequest對(duì)象并指定處理函數(shù),最后發(fā)送HTTP請(qǐng)求的方法
 net.AjaxRequest.prototype.loadDate = function(url,method,params){
     if(!method){
         method = "GET";
     }
     if(window.XMLHttpRequest){
         this.req = new XMLHttpRequest();
     }else if(window.ActiveXObject){
         this.req = new ActiveXObject("Microsoft.XMLHTTP");
     }
     if(this.req){
         try{
             var loader = this;
             this.req.onreadystatechange = function(){
                 net.AjaxRequest.onReadyState.call(loader);
             }
             this.req.open(method,url,true);    //建立對(duì)服務(wù)器的調(diào)用
             if(method == "POST"){              //如果提交方式為POST
                 this.req.setRequestHeader("Content-Type",
                     "application/x-www-form-urlencoded");   //設(shè)置請(qǐng)求頭
             }
             this.req.send(params);    //發(fā)送請(qǐng)求
         }catch(err){
             this.onerror.call(this);
         }
     }
 
 }
 //重構(gòu)回調(diào)函數(shù)
 net.AjaxRequest.onReadyState = function(){
     var req = this.req;
     var ready = req.readyState;
     if(ready == 4){               //請(qǐng)求完成
         if(req.status == 200){    //請(qǐng)求成功
             this.onload.call(this);
         }else{
             this.onerror.call(this);
         }
     }
 }
 //重構(gòu)默認(rèn)的錯(cuò)誤處理函數(shù)
 net.AjaxRequest.prototype.defaultError = function(){
     alert("錯(cuò)誤數(shù)據(jù)\n\n回調(diào)狀態(tài):"+this.req.readyState+"\n狀態(tài):"+this.req.status);
 }

(2)在需要應(yīng)用的Ajax的頁面中應(yīng)用一下的語句包括(1)中創(chuàng)建的JS文件

<script language="javascript" src="AjaxRequest.js"></script>

(3)在應(yīng)用Ajax的頁面中編寫錯(cuò)誤處理的方法、實(shí)例化Ajax對(duì)象的方法和回調(diào)函數(shù)。

 <script language="javascript">
 /*********************錯(cuò)誤處理的方法******************/
     function onerror(){
         alert("您的操作有誤!");
     }
 /*********************實(shí)例化Ajax對(duì)象的方法************/
     function getInfo(){
         var loader = new net.AjaxRequest("getInfo.jsp?nocache="+new Date().getTime(),
             deal_getInfo,onerror,"GET");
     }
 /*********************回調(diào)函數(shù)************************/
     function deal_getInfo(){
         document.getElementById("showInfo").innerHTML=this.req.responseText;
     }
 </script>

以上就是關(guān)于“ajax重構(gòu)指的是什么”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:ajax重構(gòu)指的是什么
當(dāng)前路徑:http://aaarwkj.com/article0/iidjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、手機(jī)網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
成人黄色av免费在线观看| 亚洲成av人在线播放| 一区不卡在线视频免费国产| 久久综合激情亚洲欧美专区| 粉嫩一区二区三区在线| av中文字幕一二三区| 久久精品国产亚洲av无| 国产熟女系列一区二区三区| 亚洲巨人精品福利导航| 综合av在线一区天堂| 女子张开腿让男人捅爽| 欧美黄色一区二区三区视频| 国产黄色片子在线观看| av大全网站免费一区二区| 九九热精品在线观看视频| 亚洲av少妇一区二区成年男人| 亚洲欧美一区二区国产| 国产精品国产成人生活片| 人人爽久久爱夜夜躁一区| 中文欧美一区二区精品| 一级黄片视频免费下载| 国产剧情av色诱女教师| 黄色三级亚洲男人的天堂| 高级会所口爆视频在线播放视频| 香婷婷一区二区精品久久| 久久久久久精品国产免费 | 免费看男人添女人无遮挡| 日本免费精品一区二区三区四区| av一区二区三区不卡在线看 | 国产一区二区高清不卡| 国产成人大片一区二区三区| 国产欧美日韩另类在线播放| 国产亚洲一区二区三区日韩| 国内精品偷拍一区二区三区| 免费观看黄片视频在线观看| 日本精品国产一区二区在线| 日本激情人妻一区二区| 免费亚洲一级黄色录像| 久久96国产精品久久久| 日韩精品诱惑一区二区| 欧美另类亚洲综合久青草|