今天在開發網站的時候,發現一個問題,$.ajax()
在 IE8,9 瀏覽器不起做用,但 Chrome,Firefox ,360,IE10以上等瀏覽器倒是能夠的,網上資料不少,查詢最後發現是 IE8,9 默認不支持 CORS 請求,須要手動開啓下 代碼以下:html
jQuery.support.cors = true; //寫在$.ajax()前面
用戶這樣設置:點擊IE瀏覽器的的「工具->Internet 選項->安全->自定義級別」將「其餘」選項中的「經過域訪問數據源」選中爲「啓用」或者「提示」,點擊肯定IE8,9就獲取到數據了jquery
可是不可能每一個用戶都這樣設置,這樣太過麻煩,此方法不友好!git
最後網上查詢到一個插件能夠解決此問題:跨域方式的插件jquery.xdomainrequest.min.js,將此插件引入到HTML頁面中便可github
完整代碼示範以下:ajax
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery.Ajax IE8,9跨域</title> <script src="jquery-1.11.1.min.js"></script> <script src="jquery.xdomainrequest.min.js"></script> </head> <body> <script> jQuery.support.cors = true;
//$ajax({}) 正常寫 $.ajax({ type : "GET", dataType : "JSON", url : "url", success: function(data){ //執行事件 }, error:function(){ alert("錯誤"); } }); </script> </body> </html>
jquery.xdomainrequest.min.js 插件github上搜索:jQuery-ajaxTransport-XDomainRequest 能夠下載跨域