Re: [問題] IE8的ajax

作者: Peruheru (還在想)   2015-08-31 15:52:36
※ 引述《y2468101216 (芸)》之銘言:
: 各位好,因為我是網路上的都試過了,但是都不成功才來請教各位。
: 1.jQuery.XDomainRequest.js:無用、看issues也是一堆問題。
: 2.XDomainRequest:出onerror給我,但api裡面竟然沒有output錯誤訊息。
: 想請問各位,除了棄用ajax以外沒有辦法了嗎?
: 我拿來測試的版本是windows server 2008 iE8,後端接的是php5.2。
: 先謝謝各位了。
: 根據stackflow上的解法:http://goo.gl/9Esmt0
: 明顯的IE8不支援ajax,實際上用起來也是這樣,我的php會輸出json格式的error_code。
: 當然標頭以先寫header('Content-Type: application/json; charset=utf-8');
: 我有一個表單讓使用者請假,能請多少天是由PHP判斷的,而每種假能請的天數不一樣,
: 而使用者想要看他現在能請多少天的假,以判斷他能填幾天。
: 我會先檢查假別有沒有選,有選就運用ajax回傳值,大概就是這樣。
: 在chrome跟firefox運作正常,但IE8就是不行。
你找的那篇文章提問者前提寫著doing a cross domain request using $.ajax
這表示這篇需求是寫給跨網域要求使用的
文內提到的是"IE8不支援 cross doamin請求"
然後才出現了使用XDomainRequest的建議
(For IE8 & IE9 you need to use XDomainRequest (XDR).)
而就描述來說沒看出有需要跨網域,你自己也說不是
所以應該是找錯方向了
或許是因為你在使用ajax時出錯,google剛好找到的是這方面的結果
所以誘導你使用了其實不需要使用的跨網域?
我自己搜尋前面一堆結果也都是跨網域的問題所以倒是可以想像這種情況
研究 http://api.jquery.com/jquery.ajax/ 的內容八成就夠了
注意jQuery有版本差別,1.x和2.x支援的對象不同,舊版IE請使用1.x的版本
記得之前維護過有一堆舊IE使用者的ajax頁面,印象是不用什麼特別處理就可以跑了
(最低記得有IE7,連CSS的 > 都不支援一寫版面就亂掉)
IE8應該沒有不能跑ajax才是
希望有幫上忙
作者: Ammenze (藍天白雲)   2015-09-01 09:17:00
我用1.10版的jQuery在IE7,8上面用的很順,應該是用錯版本

Links booklink

Contact Us: admin [ a t ] ucptt.com