IE8 環境的 JQuery 中的 $.ajax 拒絕訪問


  需求是兼容到 IE8。

  $.ajax 總是請求失敗,直接跳轉到 error 函數中,報錯:拒絕訪問。

  網上的一些解決方法都試過了還是沒有用,比如再請求之前設置 jQuery.support.cors = true,並調用 jquery.xdomainrequest.min.js 。更改 IE 設置,將通過域訪問數據設置為允許。這些方法都試過了,都沒有用。

  最后是在 $.ajax 運行之前添加如下代碼成功的 。

        jQuery.support.cors = true;
        jQuery.ajaxSetup({
            xhr: function() {
                if(window.ActiveXObject){
                    return new window.ActiveXObject("Microsoft.XMLHTTP");
                }else{
                    return new window.XMLHttpRequest();
                }
            }
        });

  以上代碼,如果只設置了 ajaxSetup ,而沒有設置 cors,就會報錯 No Transport 。

  所以兩個都要設置,后台還需要設置所有域名都可訪問,'Access-Control-Allow-Origin': '*'

 


免責聲明!

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



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