學習筆記:ajax使用規則講解

來源:互聯網
上載者:User

標籤:http   java   使用   os   io   檔案   資料   for   

ajax: 局部資料更新:
1.ajax 由 html css Dhtml  js xml json dom 的一種結合.
  ajax 是一種技術,它是一種解決方案。  具有一些互動性的不需要頁面重新整理,減少使用者的心理等待時間,並能夠及時響應資料的一種解決方案
2.ajax 的特點:
    ajax 是基於標準的html css xml的構造
    使用dom對象動態顯示和互動資料
    它的資料互動格式 文字格式設定 xml  json
    使用基於瀏覽器的xmlHTTPRquest 對象進行資料同步的
    使用js 進行任意的綁定資料
3.不能使用ajax 的地方:  資料及時性的部分  大量的文本替換  導航部分
4.對不同瀏覽器的調用方法

new XMLHttpRequest();  ie8以上 Firefox等其他符合w3c標準瀏覽器的xmlhttpRequest對象
new ActiveXObject("Msxml2.XMLHTTP");  ie7 ie6
產生ajax所需的xmlhttp 對象
  var xmlhttp;
        function ajax(){
            try{
                xmlhttp=new XMLHttpRequest()
            }catch(e){
                try{
                   xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");  
                } catch(e){
                    alert("你的瀏覽器是骨灰級,請升級");
                    return false;
                }
            }
        }

5. xmlhttp.open("資料傳遞方式",url,true);開啟一個非同步資料傳送
   如果需要伺服器返回資料那麼調用xmlhttp的onreadystatechange設定一個回呼函數.
   xmlhttp.onreadystatechange=回呼函數;
   xmlhttp.send(); 發送
   如果資料傳遞方式 是 get  send(null)
   post  send(資料)
   get較為簡單  post較為複雜
6.xmlhttp實現ajax資料非同步傳輸的5種狀態
    0---建立 xmlhttpRequest 對象
    1---調用open 方法
    2. ---發送send
    3.---伺服器正在接受和處理但是沒有完成
    4.--伺服器處理完成,用戶端完成整個流程
 所以我們在處理回呼函數的時候需要判斷 當前的xmlhttRequest 對象是否已經完成了它的5種狀態.
  xmlhttp.readState==4
 7.xmlhttp.status 表示當前瀏覽器狀態  http 協議規定 瀏覽器狀態是 200 
   xmlhttp.status==200
  xmlhttp.responseText 以文本的方式接收伺服器端的返回.
  401 未授權
  403  禁止訪問
  404  訪問的檔案未找到
  500 伺服器內部發生錯誤
8.  encodeURIComponent()//對所傳字串進行編碼!防止亂碼!
_________________________________________
  <script type="text/javascript">
      //  var xmlhttp=new XMLHttpRequest();
    function getVal(){
       ajax();
       var url=‘11.php?username=zhangsan&‘+Math.random();
        xmlhttp.open(‘GET‘,url,true);
        xmlhttp.onreadystatechange=test;
        xmlhttp.send(null);
     }
     function test(){
         if(xmlhttp.readyState==4 && xmlhttp.status==200){
              //  alert(xmlhttp.responseText);
                var myspan=document.getElementById(‘myspan‘);
               var text=xmlhttp.responseText;
                if(text==‘1‘){
                    myspan.innerHTML=‘請重新換一個使用者名稱,該使用者名稱已經被註冊‘;   
                }else{
                     myspan.innerHTML=‘該使用者名稱允許註冊‘;   
              
         }
     }
     
  </script>

-----------------------------------------
9.post方式
<script type="text/javascript">
     function dj(id){
         ajax();
         var data="id="+id+"&type=x";
         var url=‘12.php‘;
         xmlhttp.open("POST",url,true);
         xmlhttp.onreadystatechange=callback;
         // 告訴瀏覽器當前資料發送長度 以及類型  header  
         xmlhttp.setRequestHeader("content-length",data.length);
         xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded");
          xmlhttp.send(data);
     }
     
     function callback(){
         if(xmlhttp.readyState==4 && xmlhttp.status==200){
              alert(xmlhttp.responseText);
         }
     }
  </script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.