<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      xmlhttp是如何完成異步操作的

          ajax第一個字母就是Asynchronous-異步,那么到底xmlhttp為何能支持異步操作呢?
          大家在使用ajaxpro的時候,經常這么調用服務器端方法
      function DoSomething()
      {
          MyPage.Method1.Do(val1,val2,CallBack);
      }


      function CallBack(res)
      {
         
      //res.value;
      }

      這樣在調用DoSomething方法的時候,會很快返回,用戶可以繼續操作界面,直到回調函數得到通知運行,再處理本次請求的結果。這就是一次異步操作。
         那是通過什么樣的機制來完成對CallBack函數的通知的呢,XmlHttpRequest對象支持一種onreadystatechange的委托,請求j狀態的更改會觸發這個委托。 HTTP 就緒狀態表示請求的狀態或情形。它用于確定該請求是否已經開始、是否得到了響應或者請求/響應模型是否已經完成。它還可以幫助確定讀取服務器提供的響應文本或數據是否安全。在 Ajax 應用程序中需要了解五種就緒狀態:
       0:請求沒有發出(在調用 open() 之前)。

       1:請求已經建立但還沒有發出(調用 send() 之前)。

       2:請求已經發出正在處理之中(這里通常可以從響應得到內容頭部)。

       3:請求已經處理,響應中通常有部分數據可用,但是服務器還沒有完成響應。

       4:響應已完成,可以訪問服務器響應并使用它。
       
         在ajax中最常用的就是狀態標志4,回調函數中發現狀態標志為4的時候,就可以做處理請求數據的操作了。
      比如創建XmlHttpRequest的代碼如下:

      function CreateXMLHttpRequest(){
         
      // Initialize Mozilla XMLHttpRequest object
         if (window.XMLHttpRequest){
             xmlHttp 
      = new XMLHttpRequest();
         }
       
         
      // Initialize for IE/Windows ActiveX version
         else if (window.ActiveXObject) {
             
      try{
                  xmlHttp 
      = new ActiveXObject("Msxml2.XMLHTTP.3.0");
             }
       
             
      catch (e){
                  
      try{
                  xmlHttp 
      = new ActiveXObject("Microsoft.XMLHTTP");
                  }

                  
      catch (e){newsstring = "<div class='loading'>Loading rquest content fail, Please try it again latter</div>";}
             }

         }

      }

      發出xmlhttprequest并支持回調函數的代碼如下: 

       xmlHttp.onreadystatechange = function(){
         // only if xmlHttp shows 
      "complete"
         if (xmlHttp.readyState 
      == 4){
            // only http 
      200 to process
            if (  xmlHttp.status == 200){
               CallBack()
      ;         
            }
         }
      }
         xmlHttp.open(
      "GET", url, true);
         xmlHttp.setRequestHeader("If-Modified-Since","0");
         xmlHttp.send(null);

      CallBack函數就可以執行對請求數據的處理了。
       
       

      posted @ 2007-02-28 11:40  Robin Zhang  閱讀(3916)  評論(21)    收藏  舉報
      主站蜘蛛池模板: 欧美伦费免费全部午夜最新| 安远县| 亚洲暴爽av天天爽日日碰| 精品久久久久久无码人妻蜜桃| 日韩免费码中文在线观看| 日本边添边摸边做边爱喷水| 亚洲精品岛国片在线观看| 中文字幕一区日韩精品| 亚洲欧洲一区二区精品| 国产精品三级黄色小视频| 国产精品一区二区久久岳| 亚洲中文字幕一区二区| 久久精品色妇熟妇丰满人| 福利视频一区二区在线| 国产无遮挡无码视频在线观看 | 亚洲黄色成人网在线观看| 国产精品高潮无码毛片| 97香蕉碰碰人妻国产欧美| 中文字幕av日韩有码| 色狠狠色婷婷丁香五月| 欧美黑人添添高潮a片www| 久久夜色国产噜噜亚洲av | 久久精品国产亚洲av忘忧草18| 黄色免费在线网址| 亚洲日韩国产二区无码| 亚洲午夜理论片在线观看| 中文字幕久久精品波多野结| 色综合久久综合中文综合网| japanese边做边乳喷| 亚洲人成网站在线播放2019| 东京热一区二区三区在线| 四虎www永久在线精品| 加勒比亚洲天堂午夜中文| 97夜夜澡人人爽人人模人人喊| 最新亚洲av日韩av二区| 色道久久综合亚洲精品蜜桃| 最新国产精品好看的精品| 亚洲欧美人成电影在线观看| 九九热精品在线免费视频| 久久综合香蕉国产蜜臀av| 国产不卡一区二区在线视频|