IE 8 的 Cross Domain Ajax

我有一隻 javascript 會透過 cross domain ajax 的方式,把資料抓回來。一開始設定好 server 端的 CORS header 後,運作了一段時間,不過在某個時間點突然不能用了。神奇的是,只有在 XP (IE8) 的環境中會出問題,而 Win 7 (IE11) 是 ok 的。

把 error log 叫出來看, status 是 0,懷疑是 cross domain 惹的禍

查了一會兒資料,發現有個 jQuery plugin 正是在處理 IE8 中的 cross domain ajax 問題:Cross-Domain AJAX for IE8,用 $.getScript 把該 plugin include 進來就可以正常運作了。

看說明,理論上 IE8/9 應該都要靠 XDomainRequest 才能達成 cross domain ajax,所以說,沒有強制使用時不 work 反而比較正常。不過比較奇怪的是,之前不知道為什麼可以用? @[email protected]

2014.04.15 (補)