iT邦幫忙

DAY 8
5

XML系列 第 8

[XML]08-使用網站案例(AJAX)

AJAX(Asynchronous JavaScript + XML)是近年來很熱門的網站技術,不但效果炫,而且也越來越被廣泛使用,然而這已經是個至少6年以上的技術觀念了,而其中也有引用到XML的技術。
回想當年HTML剛被開始廣泛使用時,WWW世界是如此單純,HTML只呈現靜態資料,讓使用者以最簡單的語法去表達與分享自己的專長知識或心得。而技術層面也只有最單純的 client 端一個 URL Request,伺服器就回一個 HTML Response 而已。

接著就有人不滿足,搞出了CGI的做法,在網頁的世界中打開了「雙向」互動的潘朵拉盒子。

時至今日,Browser 與 Server 間已經不再像是過去那樣的單純,在使用者面前展示的「一個」網頁,背後可能是由好幾個 HTTP Request 所組成。

有沒有使用AJAX技術,對使用者來說,有一個很簡單的識別方法,就是當你在瀏覽網頁時,點擊網頁上的超連結,網頁不是「整張」更新而是只有「局部」更新,那麼該網頁就很有可能有採用了AJAX的技術。

AJAX大概有下列幾項特性:
1.使用 javascript 為主要程式語言
2.使用 XMLHttpRequest 物件來傳輸與接收資料
3.使用 DocumentObjectModel 的方式編修HTML
4.使用 XML 做為資料交換的格式
5.使用 XHTML 與 CSS 以呈現資料

我在找實際範例時碰到了一些困難,就是有關上面第4點提到「使用 XML 做為資料交換的格式」,由於 AJAX 實務上除了 XML 格式之外,還可以使用 json,甚至單純的文字格式,所以我短時間內找不到實際以 XML 做為資料交換格式的網站範例。

即使如此,我還是找了兩個使用 ajax 技術的網站範例,而為了查看最乾淨的HTTP Request/Response 內容,使用 WireShark 去截取 HTTP 層的往來資料並截圖如下供參考:

網站一:JWorld台灣

如果點上面那幾個標題,網頁只會部份更新,符合AJAX的現象

當點擊其中標題時,由上圖可以看出是用XMLHttpRequest送出的Request

接收到的回應如上圖,這裡看得出來,為了實作方便,直接傳回 HTML 型式的網頁供使用

網站二:Yahoo台灣

如果點都市名稱以變更氣象都市,網頁只會部份更新

當點擊其中標題時,由上圖可以看出是用XMLHttpRequest送出的Request

接收到的回應如上圖,Yahoo使用的是json型式的資料,json 大概也是目前 AJAX 界最普遍使用的資料格式

本系列文章列表
Next : [XML]09-使用資訊流領域案例(RosettaNet)


上一篇
[XML]07-使用網站案例(Web Service)
下一篇
[XML]09-使用資訊流領域案例(RosettaNet)
系列文
XML30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
krarm
iT邦好手 1 級 ‧ 2011-10-05 22:53:09

antijava提到:
HTML只呈現靜態資料,讓使用者以最簡單的語法去表達與分享自己的專長知識或心得。而技術層面也只有最單純的 client 端一個 URL Request,伺服器就回一個 HTML Response 而已。
接著就有人不滿足,搞出了CGI的做法,在網頁的世界中打開了「雙向」互動的潘朵拉盒子。

我可以引用海綿大大這一段經典旁白,作為一個分享文的開場白嗎?

看更多先前的回應...收起先前的回應...

只要你不怕被別人批評就可以
醉

modernsarah iT邦研究生 4 級 ‧ 2011-10-05 23:02:24 檢舉

kradark提到:
我可以引用海綿大大這一段經典旁白,作為一個分享文的開場白嗎?

偷笑反正不同組,原作有同意,只要沒人告密就好.......

krarm iT邦好手 1 級 ‧ 2011-10-05 23:08:43 檢舉

那我換一句話寫好了。
醉

我指的批評不是指「你引用我這幾個字」這件事
而是「針對那幾個字」的批評
因為很多人認為
CGI是為WWW開啟另一個新世界的大功臣
落寞

0
modernsarah
iT邦研究生 4 級 ‧ 2011-10-05 23:01:23

簽名好專業, 雖然我看的頭很痛, 但我很喜歡Antijava大大這一系列的表達方式。

就算妳這麼說我也不會高興的啦
(狀態顯示為模仿航海王喬巴中)
飽

0
krarm
iT邦好手 1 級 ‧ 2011-10-05 23:07:53

antijava提到:
搞出了CGI的做法

在寫過一個web server後,就覺得CGI的出現是很正常的,fork一個process,把標準輸出導給socket。

0
SunAllen
iT邦研究生 1 級 ‧ 2011-10-05 23:36:52

Orz...我看了幾行,就不行了

modernsarah iT邦研究生 4 級 ‧ 2011-10-05 23:43:05 檢舉

iT邦幫忙MVPsunallen提到:
...我看了幾行,就不行了

太陽大寫的頭痛程度和antijava大有得拼丫~
怎麼可能陣亡~醉

0
pantc328
iT邦高手 1 級 ‧ 2011-10-06 10:27:52

你說這些都是已經在用的技術
XML我覺得最重要的是X這個字,而不是ML
X 延伸的意思
如果你能用XML去延伸一種資料結構,這種資料結構對世界影響很大
你可以送到一些國際組織去制定一項規範,取得專利
你一輩子就吃不完了

我要留言

立即登入留言