歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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的深度分析我會在下次和大家再進行討論

Copyright © Linux教程網 All Rights Reserved