DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> Ajax與用戶交互的JSON數據存儲格式
Ajax與用戶交互的JSON數據存儲格式
編輯:AJAX基礎知識     

數據存儲是JavaScript的核心功能,這是一個在學習前期的一個容易讓人迷惑的問題。它並不是那種像頁面滑動、幻燈片展示、淡入淡出等吸引人眼球的特效。適當的存放好數據,就有利於我們組織起結構,又能使應用程序稍後訪問這些內容更加容易。JavaScript提供了各種不同的數據存儲方式,它是一個從基本到未來走向的演化模式:

XML代表可擴展標記語言,是一種比較靈活的數據格式,很多應用程序存儲數據都喜歡用到它,結構像HTML,也包含元素,標簽以及屬性,模型都一樣。它的一大優勢在於它是一種可擴展的格式,你並不會受制於某種預設的數據結構;並且它還符合DOM標准,使用AJAX調用獲取到的數據就像解析HTML一樣,通過相應的DOM方法和屬性解析它:

<ingredient>
<prison>
<name>apple</name>
<color>red</color>
</prison>
<prison>
<name>tomato</name>
<color>red</color>
</prison>
<prison>
<name>peach</name>
<color>pink</color>
</prison>
<prison>
<name>pitaya</name>
<color>green</color>
</prison>
</ingredient>

但是XML的一個嚴重的缺陷在於它不能用於跨域名的Aiax調用,也就是說每一個Ajax調用的XML數據都必須和執行調用的腳本處於同一域名內,否則請求會失敗。

HTML存儲也相似,它與Ajax結合起來最簡單。采用這種方式的數據格式的重要因素是速度,HTML代碼段無需在客戶端解析就能直接將其輸出到DOM之中,所以我們不需要再額外的編寫JavaScript代碼解析HTML。

<ul>
<li><a href="boke.js">apple:red</a></li>
<li>tomato:red</li>
<li>peach:pink</li>
<li>piyata:green</li>
</ul>

說說它的缺點,它存儲的數據可能和HTML代碼混合在一起,所以說可維護性降低。另外在編寫處理代碼時,開發者可能需要在服務器端做一些精細的控制手段。

以下是使用JavaScript進行數據存儲的手段,循序漸進…

變量

JavaScript最為基礎的數據存儲方式,它接受字符串、數值、布爾等。最核心的內容是它的作用域問題。

於變量相關的性能問題:

變量在聲明完之後,就會被緩存到JavaScript文件中,於是在作用域內就可以反復的使用它們了,獲取變量的開銷微乎其微,只要數據的使用次數大於1,就應該將其存入變量。

數組

數組跟普通數組、關聯數組和多維數組,它們都是元素列表,這種形式是各種數據存儲中非常靈活的一種。掌握了數組最基本的形式,也會對其他復雜形式的運用大有脾益。數組元素的訪問合一處是常見的基本交互代碼。鑒於數組這種數據存儲類型的重要性,JavaScript為數組交互操作提供了大量的專屬方法:

.join() 方法 可以指定某個字符可作為數組內每個元素的連接符;slice() 方法可以輸出數組中某個范圍內的元素;shift()和unshift() 方法 分別用於在數組頭部移除或新增元素;pop() 方法 用於移除並返回數組中的最後一個元素;concat() 方法 用於將多個數組拼接成一個數組,按參數的先後而定;sort()方法 可以按照字母表順序或自定義順序來排列數組的元素,但是只會根據首字符排序,一般都是錯誤的。

對象

在數據變得更加復雜、更加難以管理的情況下,我就會選擇將數組轉換為對象。因為對象的存儲方式更加易讀。

//對象數據存儲
var meatball = {
bread:"wang",
meat :"li",
cheese : "zhang"
};
//返回對象的bread 
alert(meatball.bread);

對象對效率的影響

上面的代碼只有一層,然而它是可以無限嵌套的。對象能更好的組織代碼,提高模塊化的程度。不過與此同時,還是需要考慮性能和可維護性的權衡問題,因為它需要尋找這三者中的一個。如果是運用面向對象編程技術,嵌套達到3層及以上,就會引發性能問題;但是在服務器端運用時就不是這樣了,所以前端開發者要決定什麼時候使用面向對象編程技術。

JSON

JSON是一種易於同jacascript 集成的數據格式,它通常是在用JavaScript調用外部服務器時使用的。JSON數據存放於獨立的文件中,而且通常位於另一台完全不同的服務器上。它現在是最常見的一種調用API服務時所使用的數據格式,人們之所以選中它,是因為此格式非常易於閱讀。起初,JSON格式是作為一種XML格式的替代方案而出現的,但很快它就在數據交換領域占據了主流的地位。它是一種輕量級的數據格式,易於通過遠程Ajax調用進行跨域名訪問。盡管JavaScript對JSON格式的解析提供了原生的支持,但它還是一種獨立於平台的格式,客戶端與服務器端在數據交換時都可以使用。

由於JSON格式具備跨域名訪問的能力,所以為了防止一切惡意行為,我們務必只使用從可信的數據源中獲取JSON。

這是一個 Salad.json 數據文件:

//ajax JSON Salad
var ingredient = {
"fruit":[
{
"name" : "apple",
"color" : "green"
},
{
"name" : "tomato",
"color" : "red"
},
{
"name" : "peach",
"color" : "pink"
},
{
"name" : "pitaya",
"color" : "white"
},
{
"name" : "lettuce",
"color" : "green"
}
]
};

JSON最常見的用途就是配合API調用,在於API為基礎的網絡程序開發環境中,使用何種後端語言進行開發,數據格式都無需改變。

以上所述是小編給大家介紹的Ajax與用戶交互的JSON數據存儲格式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved