国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法與流程

      文檔序號(hào):12362841閱讀:來(lái)源:國(guó)知局

      技術(shù)特征:

      1.一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法,其特征在于:包括初始化步驟、任務(wù)遷徙步驟和動(dòng)畫(huà)效果步驟包括以下步驟:

      所述的初始化步驟包括以下子步驟:

      S11.創(chuàng)建數(shù)據(jù)層,采用命名空間實(shí)現(xiàn),所述的命名空間采用json語(yǔ)法實(shí)現(xiàn);

      S12. 數(shù)據(jù)層將每個(gè)ajax視為一個(gè)任務(wù),并為其賦予一個(gè)任務(wù)編號(hào);其中,對(duì)于每一個(gè)任務(wù),數(shù)據(jù)層建立一張表格,維護(hù)每個(gè)任務(wù)的狀態(tài);

      S13.數(shù)據(jù)層提供一個(gè)函數(shù)接口send, 參數(shù)為json對(duì)象;

      所述的任務(wù)遷徙步驟包括以下子步驟:

      S21:數(shù)據(jù)層收到客戶端向服務(wù)端發(fā)送的請(qǐng)求后,為任務(wù)分配一個(gè)id號(hào),將任務(wù)狀態(tài)設(shè)置為新建created;

      S22:參數(shù)收集,當(dāng)參數(shù)收集完畢,向服務(wù)端發(fā)送ajax請(qǐng)求,將任務(wù)狀態(tài)設(shè)置為waiting,同時(shí)超時(shí)計(jì)數(shù)器開(kāi)始計(jì)數(shù);

      S23:當(dāng)超時(shí)計(jì)數(shù)器計(jì)數(shù)結(jié)束之前,收到服務(wù)端返回的結(jié)果后,將任務(wù)狀態(tài)設(shè)置為finished;當(dāng)超時(shí)計(jì)數(shù)器計(jì)數(shù)結(jié)束服務(wù)端仍然沒(méi)有返回結(jié)果,任務(wù)將被終止,從waiting狀態(tài)直接進(jìn)入aborted狀態(tài);

      所述的嵌入動(dòng)畫(huà)效果步驟為:

      S31.使用absoulte布局,在Z軸最頂端加入div元素,div的visibility屬性設(shè)置為true,嵌入一個(gè)等待動(dòng)畫(huà)圖片;

      S32. 客戶調(diào)用send函數(shù)時(shí),數(shù)據(jù)層將actionprompt設(shè)置為true,數(shù)據(jù)層將顯示等待動(dòng)畫(huà),如果actionprompt為false,將div的visibility屬性設(shè)置為false。

      2.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法,其特征在于:所述的json對(duì)象的結(jié)構(gòu)包括:

      Actionid:由數(shù)據(jù)層datalayer自動(dòng)生成,表示任務(wù)編號(hào);

      Actionstatus:表示任務(wù)的狀態(tài),包括創(chuàng)建、等待、終止、錯(cuò)誤;

      Actionname:表示任務(wù)的名稱;

      Actionprompt:表示是否出現(xiàn)文字和動(dòng)畫(huà)提示請(qǐng)求在處理中;

      Maximumwaitingtime:表示一個(gè)任務(wù)最長(zhǎng)的等待時(shí)間,超出這個(gè)等待時(shí)間而服務(wù)端沒(méi)有回應(yīng),數(shù)據(jù)層將終止任務(wù)運(yùn)行;

      Callbacksuccess,表示用來(lái)注冊(cè)成功時(shí)候的回調(diào)函數(shù);

      Callbackfail,表示用來(lái)注冊(cè)任務(wù)失敗時(shí)的回調(diào)函數(shù);

      Waitingtip,當(dāng)?shù)却?wù)端回應(yīng)的時(shí)候,給予用戶的提示;

      Url,指向服務(wù)端的地址,以所述的Actionname加上json后綴表示;

      Atype,表示請(qǐng)求類(lèi)型

      Multi,表示能否重復(fù)請(qǐng)求的狀態(tài),當(dāng)設(shè)置為false時(shí)候,禁止改同一個(gè)任務(wù)在狀態(tài)處于create或者waitting時(shí)候反復(fù)發(fā)送。

      3.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法,其特征在于:所述的表格結(jié)構(gòu)包括

      Actionid:表示任務(wù)編號(hào);

      Actionname:表示任務(wù)的名稱;

      Actionstatus:表示任務(wù)的狀態(tài),包括創(chuàng)建、等待、終止、錯(cuò)誤;

      ajaxobj:ajax引用實(shí)例;

      multi:表示能否重復(fù)請(qǐng)求的狀態(tài),當(dāng)設(shè)置為false時(shí)候,禁止改同一個(gè)任務(wù)在狀態(tài)處于create或者waitting時(shí)候反復(fù)發(fā)送

      injectedStatus:尾部是否置入特殊動(dòng)作。

      4.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法,其特征在于:它還包括一個(gè)瀏覽器版本判斷步驟:在每次任務(wù)狀態(tài)切換之后打印任務(wù)信息之前,判斷瀏覽器版本是否為console.log()函數(shù)所支持的版本,如果支持則調(diào)用console.log()函數(shù)進(jìn)行打印,否則不調(diào)用。

      5.根據(jù)權(quán)利要求1或4所述的一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法,其特征在于:

      在所述的瀏覽器版本判斷步驟之后,還包括一個(gè)解析錯(cuò)誤狀態(tài)的轉(zhuǎn)換步驟:ie瀏覽器解析服務(wù)端返回的xml字符串出錯(cuò)的情況下,在ajax error屬性中注冊(cè)回調(diào)函數(shù),在這個(gè)函數(shù)中略過(guò)http頭,定位到xml數(shù)據(jù)體,然后獲取xml字符串內(nèi)容, 將其轉(zhuǎn)換為jquery對(duì)象,將返回至客戶端。

      6.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)層的改進(jìn)ajax性能的方法,其特征在于:所述的參數(shù)收集包括以下步驟:

      S1.在數(shù)據(jù)層這個(gè)json對(duì)象中加入屬性currentActionID, 指向任務(wù)表中正在處理的任務(wù)id;

      S2.任務(wù)表中增加一列injectedStatus, 表示是否已經(jīng)向任務(wù)處理動(dòng)作的末尾植入了一個(gè)特殊的動(dòng)作;

      S3.然后將任務(wù)狀態(tài)設(shè)置為waiting即可;當(dāng)服務(wù)器返回?cái)?shù)據(jù)時(shí)候,在回調(diào)函數(shù)中,數(shù)據(jù)層將調(diào)用用戶注冊(cè)的回調(diào)函數(shù),然后將任務(wù)狀態(tài)設(shè)置為finished或者error;

      S4.當(dāng)用戶調(diào)用send函數(shù)接口發(fā)送時(shí)候,數(shù)據(jù)層判斷currentActionID狀態(tài),如果是finished,或error,aborted,waiting表明沒(méi)有新建的任務(wù),

      S5.數(shù)據(jù)層創(chuàng)建一個(gè)新任務(wù),狀態(tài)設(shè)置為created, 將injectedStatus列置為true,然后執(zhí)行參數(shù)收集最核心的一個(gè)動(dòng)作,調(diào)用時(shí)間處理函數(shù),

      S6. 將時(shí)間處理函數(shù)添加到事件隊(duì)列末尾,同時(shí)將超時(shí)時(shí)間設(shè)置為0秒;

      S7.這樣一系列的send函數(shù)調(diào)用一結(jié)束時(shí),這個(gè)時(shí)間處理函數(shù)將被調(diào)用,請(qǐng)求將被發(fā)送出去。

      當(dāng)前第2頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1