ie8 環境下Jquery 中的$.ajax 拒絕訪問

一.借鑑(學習的時候不說話)html

  需求是兼容到 IE8。jquery

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

  網上的一些解決方法都試過了仍是沒有用,好比再請求以前設置 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': '*'服務器

 

 二,發佈到服務器端,ajax報 沒有權限問題cors

在使用jquery的ajax進行跨域傳值的時候,程序報錯:dom

microsoft jscript 運行錯誤:沒有權限函數

並指向jquery中的函數。

後來發現是IE瀏覽器的安全性設置問題,解決方法以下:

點擊IE瀏覽器的的「工具->Internet 選項->安全->自定義級別

將「其餘」選項中的「經過域訪問數據源」選中爲「啓用」或者「提示」,點擊肯定就能夠了。

相關文章
相關標籤/搜索