對(duì)JSON 數(shù)據(jù)進(jìn)行詳細(xì)說(shuō)明概括
在JSON 數(shù)據(jù)中一個(gè)經(jīng)常問(wèn)到的問(wèn)題是:如何把一個(gè)PHP數(shù)組傳遞給Javascript.答案是把PHP數(shù)組轉(zhuǎn)換為JSON,有幾個(gè)解決辦法:包括第三方PHP類庫(kù),PHP5 JSON擴(kuò)展(php_json.dll 或則 json.so).
但是推薦的方法是使用CakePHP的javascript Helper.作為一個(gè)純PHP的解決方法它能夠同時(shí)在PHP4和PHP5上工作使用它像使用其他Helper一樣簡(jiǎn)單,假設(shè)在你的控制器中有一些數(shù)組,把它們傳遞給視圖就可使用了.好了,下面是一些代碼片段和輸出:
- Array
- (
- [0] => Array
- (
- [Photo] => Array
- (
- [id] => 2
- [filename] => 1180944624_3dgreen.png
- [title] => 3D Green
- [created] => 2007-06-04 13:40:00
- )
- )
- [1] => Array
- (
- [Photo] => Array
- (
- [id] => 1
- [filename] => 1180938295_FreshFlower.jpg
- [title] => Fresh Flower
- [created] => 2007-06-04 11:54:00
- )
- )
- )
在服務(wù)器處理的 JSON 數(shù)據(jù)最終都應(yīng)該轉(zhuǎn)化為簡(jiǎn)單的 JavaScript 對(duì)象,因此,遞歸引用的可能性很小。 最后,通過(guò) Servlet 或 MVC 框架輸出 JSON 時(shí),需要設(shè)置正確的 MIME 類型(application/json)和字符編碼。假定服務(wù)器使用 UTF-8 編碼,則可以使用以下代碼輸出編碼后的 JSON 文本。
jQuery由美國(guó)人John Resig創(chuàng)建,至今已吸引了來(lái)自世界各地的眾多javascript高手加入其team,包括來(lái)自德國(guó)的Jörn Zaefferer,羅馬尼亞的Stefan Petre等等。jQuery是繼prototype之后又一個(gè)優(yōu)秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,寫(xiě)更少的代碼,做更多的事情。它是輕量級(jí)的js庫(kù)(壓縮后只有21k) ,這是其它的js庫(kù)所不及的,它兼容CSS3,還兼容各種瀏覽器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。
Query是一個(gè)快速的,簡(jiǎn)潔的javaScript庫(kù),使用戶能更方便地處理HTML documents、events、實(shí)現(xiàn)動(dòng)畫(huà)效果,并且方便地為網(wǎng)站提供JSON 數(shù)據(jù)交互。jQuery還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。
jQuery能夠使用戶的html頁(yè)保持代碼和html內(nèi)容分離,也就是說(shuō),不用再在html里面插入一堆js來(lái)調(diào)用命令了,只需定義id即可。Jquery是繼prototype之后又一個(gè)優(yōu)秀的Javascrīpt框架。對(duì)prototype我使用不多,簡(jiǎn)單了解過(guò)。但使用上jquery之后,馬上被她的優(yōu)雅吸引住了。#t#
有人使用這樣的一比喻來(lái)比較prototype和jquery:prototype就像JSON 數(shù)據(jù),而jquery就像ruby.實(shí)際上我比較喜歡java(少接觸Ruby 罷了)但是jquery的簡(jiǎn)單的實(shí)用的確有相當(dāng)大的吸引力啊!在項(xiàng)目里我把jquery作為自己唯一的框架類包。使用其間也有一點(diǎn)點(diǎn)心得,其實(shí)這些心得,在jquery的文檔上面也可能有講,不過(guò)還是記下來(lái),以備忘罷。