今天在开发网站的时候,发现一个问题,$.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 能够下载跨域