JSON與AJAX數據Web之無刷新處理

 

          在現在Web的開發中,界面友好和性能越來越成爲一個網頁的好壞的評判標準,對於實現界面無刷新(局部刷新)請求和簡單傳輸數據與服務器交互,我想來談談一下技術 

          這篇博文是我對Ajax和Json的總結,在這裏講解了基本運用和簡介,大家通過這些學習可以結合開發運用到實戰當中去

 

             AJAX(asynchronous Javascript XML)異步的javascript與xml

             核心對象 :XMLHttpRequest 對象

             Ajax準備向服務器發送請求:xmlHttpRequest.open("get(提交)","url",true(是否是異步提交))

              Different with firefox:

                        IE中如果設置了xmlHttpRequest.send("get","url",false);//當第三個參數爲false時,那麼在瀏覽器上實現的是同步

                        Firefox中如果第三個參數爲false時,不會調用回調函數,註冊根本就不會調用,也就是firefox不會執行false的同步操作

 

         base program:

                 var req;

                    function createXmlHttpRequest(){

                            if(window.ActionXObject){//  IE browse

                                      req=new ActionXObject("MicrosoftXMLHTTP");                 

                             }

                              else{//firefox等其他瀏覽器

                                       req=new XMLHttpRequest();

                              }

                      }      

//send ajax message request to server    發送ajax消息請求給服務器

              function ajaxSend(url,getMsg){

                         //解決IE中如果URL提交地址不改變,IE不會對用戶操作進行請求提交的處理

                         url=url+"&"+Math.random();

                         //解決中文地址亂碼問題

                         url=windowm.encodeURI(url);

                          //需要進行兩次轉碼

                          url=window.encodeURI(url);

                          //create ajax kernel object   創建ajax核心對象

                          createHttpRequest();

                          //ajax call-back function   回調函數

                            req.onreadystatechange=function(){

                                        if(req.readystate==4){//準備完成

                                                  if(req.status==200){

                                                            //回調處理

                                                             var s=req.responseText();

                                                               getMsg(s);     

                                                    }

                                         }

                              }

            }

          req.open("get",url,true/false);  //true synchronize        false  asynchronous

          req.send(null);//可以發送消息數據,也可以爲null

 

---------------------JSON

               JSON:javascript Object notation(標記法)

               json是一種輕量級的數據交換格式,json採用了完全獨立於語言的文本格式

        基本結構:名稱/值   對的集合

                         值的有序列表,大部分語言中稱爲array數組

   Json名/值的表示

              example:名/值

                   {"sharme",:"123yao"} //注意實際上這裏比等效的村文本佔用更多的空間

               var  sharme={"sharneName":"sharmeYao","sharmePwd":"123yao"};

               var name=sharme.sharmeName;//獲取值

               

                 example:array

                        String str=["person1":{"name":"sharme","sex":"man'},"person2":{"name":"jdss","sex":"man"}];//通過"  , "逗號來區別每一個數組對象

數據快速訪問:   str[0].name    通過這種簡單的方式對json數據格式進行訪問

修改數據同樣簡單:  str[0].sex="woman"

 

                JSON文本數據和對象的轉換

                       將對象轉換爲JSON文本數據

                       String jsonString=people.toJSONString();

                        注意:可以將任何javascript中的對象轉換爲json文本數據

         數據注意:數組是值的有序集合,一個數組以“'[”(左中括號)開始,“]”(右中括號)結束,值之間使用“,”(逗號)分隔

           值類型可以使:string /  number  /true  /false  /null /對象 或者數組,並且這些都可以進行嵌套

 

  對於AJAX和JSON的討論就到這裏把,當然我相信這些僅僅是基於AJAX和JSON的講解,對於AJAX和JSON的深度分析我會在下次和大家再進行討論

 

 

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