jQuery.Ajax IE8,9 無效(CORS跨域)


今天在開發網站的時候,發現一個問題,$.ajax()在 IE8,9 瀏覽器不起作用,但 Chrome,Firefox ,360,IE10以上等瀏覽器卻是可以的,網上資料很多,查詢最后發現是 IE8,9 默認不支持 CORS 請求,需要手動開啟下 代碼如下:

jQuery.support.cors = true;   //寫在$.ajax()前面

用戶這樣設置:點擊IE瀏覽器的的“工具->Internet 選項->安全->自定義級別”將“其他”選項中的“通過域訪問數據源”選中為“啟用”或者“提示”,點擊確定IE8,9就獲取到數據了

但是不可能每個用戶都這樣設置,這樣太過麻煩,此方法不友好!

最后網上查詢到一個插件可以解決此問題:跨域方式的插件jquery.xdomainrequest.min.js,將此插件引入到HTML頁面中即可

完整代碼示范如下:

<!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 可以下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM