ajax 傳送格式比較

雖然有了ajax framework來即時傳送資料,但是這個資料的格式該怎麼辦呢?如果這個ajax應用很簡單的話,也許用自訂的文字格式即可,但如果複雜些,目前有三個選擇,XML,HTML,JSON。

The AJAX response: XML, HTML, or JSON?

XML 優點是較標準化且人較易了解格式,一般老手可能也比較熟悉處理XML。缺點是前台用Javascript處理XML輸出成HTML仍嫌囉唆 (XSLT的解法作者未研究)

HTML 優點是最簡單處理,因為前台直接輸出就好,同時也很容易根據不同前台裝置輸出不同的HTML。缺點是如果HTML含有表單forms,IE會有可怕的錯誤。另外若要配合進階CSS技巧使用的話,可能會讓這個HTML變大變複雜(因為要加額外標籤)

JSON 比較特別,Server 回傳依個 string 表示一個 Javascript 物件(這是javascript的語言特性),client只要執行evel就可以拿到這個物件了,然後跑輸出即可。優點是安全性較好,避免了一些常見的問題,另外比起XML,JSON的前台 script 又比較簡單一些。缺點是JSON的格式人較難讀,有一堆的括號引號等等要在正確的地方,像是 }}]} 之類的,對新手debug來說是蠻麻煩的。
JSON最近也被 Yahoo!’s 作為 Web Service APIs 格式,算是蠻紅的。

作者最後結論是根據不同環境來做選擇哪個最好囉,文章的Comments則有不同人的比較討論

參與討論

1 則留言

發佈留言

發表迴響