2008年4月1日 星期二

[JSP/Javascript]Ajax讀xml檔的問題

ajax call jsp回傳資料, 除了純文字類的之外就是回xml...
產生該xml在java血統裡的不外乎jsp跟servlet...

但是呢~機車又很笨的 XMLHttpRequest 又常常耍脾氣, 故意不認識xml...
當然後面就parse不出來了, 後來我覺得這是跟瀏覽器有關=_="...

總之有改jsp/servlet 跟改javascript端的方法,
身為java血統, 當然要用jsp/servlet解法阿XD...
(好啦~因為javacript用現成的套件, 要改太麻煩)

JSP/serverlet加上這行設定:
response.setContentType("text/xml");

相信你那冰雪聰明的 FireFox 已經認清他是xml的事實...
但是年紀大了一點的 IE 可能還在不知不覺中...
這時候, 請看一下輸出的xml原始程式碼...
ex: 原本是
< ?xml version=\"1.0\" encoding=\"UTF-8\"? > < root >< /root >
字字緊連成一排長長的碗糕(原本都是連著的, 因為blogger有問題不能顯示所以才加空格)...
就給它大力的切開變成...
< ?xml version=\"1.0\" encoding=\"UTF-8\"? >\n< root >< /root >

IE 的嘴巴比較小, 切小塊後他終於點頭說...嗯~這是xml...我吃!!

至於為啥切段之後他才承認~~這個就不要問我了~"~a...
但是以沒切段copy原始碼餵給IE開啟, 是xml顯示方式喔~
反正~~軟體業一向是重開機就會好的奇怪東西~~~/燦笑