ajax和原生js比較與理解

ajax

目的:1.提高用戶體驗

          2.減輕服務器端壓力

      ajax是異步提交,通過與form

表單的對比就可以看出


  AJAX的使用

 1-----原始版ajax

 1、建立 XMLHttpRequest 異步通訊對象。

           <script>

                 var xhr=null;            

                 //非IE瀏覽器

                   if(window.XMLHttpRequest){

                            xhr=new XMLHttpRequest();

                               }else{

                                  //IE瀏覽器 

                               xhr=new ActiveXObject("Microsoft.XMLHTTP");

                  }

           </script>

  2、//打開異步訪問

          

 xhr.open(“post/get”,“服務器訪問路徑”,允許異步操作標記 true/false);

  3、//發送異步請求

      xhr.send();

  4、//獲取異步信息

      //監聽異步通訊狀態的變化

                 xhr.onreadystatechange=function(){

          //檢測異步狀態標記 

           if(xhr.readyState==4&&xhr.status==200){

             dom對象.value=xhr.responseText;

                  }else{     

               dom對象.value="ajax error";

                             }

                 }

注意事項:通過服務器端返回的狀態來執行函數的不同語句(這個是實現服務器端處理數據),而且最後一定要設置值

                  第4步特別重要,要得到數據庫服務傳遞過來的值,然後再進行處理

                  客戶端設置值是在打開異步訪問時傳遞過去的數據

實際開發中,經常用json來傳遞對象

     2.開發版ajax

        jquery開發ajax方法


      一般情況經常用的是

             ajax.get()和ajax.post方法,這種情況下實現的不同數據的分離,清晰,簡潔

              地址,數據,回調函數爲這兩個方法的三大參數

                      不同數據用,分離,屬性和屬性的值用:分離,傳遞的多個屬性用{}封裝

               1.jquery的ajax方法() 
                   url:一個用來包含發送請求的URL字符串。
                   settings:AJAX 請求設置
                   通過setting的各種方法來設置請求設置

             2.jquery的get方法


                什麼是json:
                json就是一串javascript代碼,是javascript的一種數據格式
               第三方架包如gson,fastjson就可以把數據對象解析爲json對象


              可以把對象轉換成json格式來傳送數據到前臺,json其實就是將其它數據解析爲javascript代碼

              在 JavaScript 中使用它就很簡單了。JSON 是 JavaScript 原生格式,這意味着在 JavaScript 中處理 JSON  數據不需要任何特殊的 API 或工具包。

                   json對象的格式爲 {字符串屬性:屬性值,字符串屬性:屬性值 }
                   也可以傳遞多個屬性值,也用大括號括起來,統一爲json格式
                    json格式
                    json關鍵點就是如何把字符串或者是對象解析成散列值,解析成散列值纔可以取出值

                   注意:屬性也爲字符串,括號也爲字符串,屬性值如果是字符串屬性也用字符串括起來
                   jstl也可以通過map來獲得對象,這個是在jsp頁面獲得,是服務器端技術,而ajax可以直接在服務器端把數據封裝成object對象來傳遞到前臺

                   json格式優勢:可以一次性傳遞多種類型的值,而且可以一次性傳遞大量的數據

                   eval()可以把字符串解析爲命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章