當AJAX被創建的時候,他的原意是:Asynchronous JavaScript and XML,異步的javascript和XML,總的說來就是這樣的:
AJAX這個名詞被開發者和銷售人員濫用了。今天這個本應該全大寫縮寫的詞已經成為了一個新詞,表示在不刷新頁面的情況下的數據的傳輸。原因有:
最終,不論使用什麼技術,你都要在兩個設備之間傳輸數據。這是RockUX連載數據格式的第一部分,我們後面還會講到更多的數據和特性。
在一開始,XML是最佳選擇。很多語言都有支持XML格式解析和序列化的函數。就算你使用的語言不支持XML,他其實也就是一段文本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
<?xml version="1.0"?> <products> <book> <title>The Principles of Beautiful Web Design, 2nd Edition</title> <url>http://www.sitepoint.com/books/design2/</url> <author>Jason Beaird</author> <publisher>SitePoint</publisher> <price currency="USD">39.95</price> </book> <book> <title>jQuery: Novice to Ninja</title> <url>http://www.sitepoint.com/books/jquery1/</url> <author>Earle Castledine & Craig Sharkie</author> <publisher>SitePoint</publisher> <price currency="USD">29.95</price> </book> <book> <title>Build Your Own Database Driven Website</title> <url>http://www.sitepoint.com/books/phpmysql4/</url> <author>Kevin Yank</author> <publisher>SitePoint</publisher> <price currency="USD">39.95</price> </book> </products>
XML的好處有:
但是,XML也有他的缺點:
1 2 3 4
// grab value in first <data> element var xml = xhr.responseXML; var nodes = xml.getElementsByTagName("data"); var data = (nodes.length > 0 ? nodes[0].firstChild.nodeValue : null);
很多開發人員認為XML已經死了,但是我不太同意,可能現在XML不是Ajax的最佳選擇,但是你也不能知道所有的web服務怎麼部署的。而且XML的普及是一個偉大的事情,不要忽略它。
SOAP是數據交換的一個標准格式。詳細的技術細節文檔有好幾百頁,總的來說,SOAP依賴於定義好的XML schemas。
很少有開發者世界使用SOAP(看見就夠了)。SOAP的魅力在於客戶端的庫可以自動將XML轉換成原生的對象。比如.NET的開發人員可以創建一個基於SOAP的網絡服務,客戶端不需要做太多的事情。作為開發人員,大多使用C#,他們不用在乎遠程的機器使用什麼東西。
但是SOAP的缺點:
SOAP仍然是服務端之間通信的選擇,尤其是在同一個局域網的情況下。但是在Ajax中用的不多。
如果你想通過Ajax請求在頁面中插入代碼,HTML是一個簡單的格式,不用做太多的處理。例如,假設你在每一個頁面都需要顯示一個購物車。你在服務器端已經有了這樣的HTML代碼,那麼在選購了意見商品之後就可以返回同樣的HTML代碼。
它的好處包括:
但是也有缺點:
在RockUX後面的文章中我們會講到:
轉載請注明: