close

Asynchronous Javascript and XML

簡單說就是拿XMLHTTP去取資料回來交給javascript去做顯示
困難說在javascript的顯示操作、xml的資料解析以及瀏覽器的相容

XMLHttpRequest、getElementsByTagName
responseXML、Response
ContentType、text/xml

最近整理了美國的郵遞區號, 想用寫一個展示的功能
美國有分為州、郡、市,在同一市裡還有分不同的郵遞區號

ajax_xml.htm:是線上展示功能, xml檔己經事先產生好了, 可以直接上去看結果
ajax.rar:是ASP+Access, 動態產生xml檔內容, 需要下載回去, 透過IIS使用

應該注意的地方
1. http.open('GET', url, false);
第三個參數是用false, 所以資料是即時回應的, 所以不需要用到onreadystatechange事件
如果資料多的話, 相對的畫面反應會頓頓的。

2. XML的解析
現在只有表格式的資料, 所以XML解析也比較簡單,
如果有多一些不對稱的資料, XML解析也會比較繁雜

3. 裝飾者模式的應用
當州改變時, 後面的郡、市、郵遞區號都要清空, 不然會留下前一次顯示的資料
增加方法(reset)及物件(nextobj)
州改變(onchange)時, 呼叫 nextobj.reset, 即可將郡、市、郵遞區號的資料清空
郡改變(onchange)時, 呼叫 nextobj.reset, 即可將市、郵遞區號的資料清空

裝飾者模式參考資料:
http://aqr199xx.pixnet.net/blog/post/23749609

4. 解決快取問題
在實作時, 遇到一直抓到快取資料, 而不是重新抓取
增加方法(getrandom), 在網址後端在多帶一個亂數


線上展示
http://aqr198.googlepages.com/ajax_xml.htm
下載
http://aqr198.googlepages.com/ajax.rar

以下抱怨文~~~
ASP.NET 是Server的過了頭, 連我設定的名稱都改了,改到連是老媽的我都認不得了
AJAX是Client的過了頭, 連我也看不懂原始碼了, 寫到沒有html碼可以拿來想像了

arrow
arrow
    全站熱搜

    aqr199xx 發表在 痞客邦 留言(0) 人氣()