一.借鑑(學習的時候不說話)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 選項->安全->自定義級別」
將「其餘」選項中的「經過域訪問數據源」選中爲「啓用」或者「提示」,點擊肯定就能夠了。