zoukankan      html  css  js  c++  java
  • 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 可以下载

     

    不忘初心,勇闯博客园,欢迎大家留言交流技术,记得关注我哦!
  • 相关阅读:
    套接字I/O模型-WSAAsyncSelect
    套接字I/O模型-完成端口IOCP
    套接字I/O模型-WSAEventSelect(转载)
    Win7+VS2010环境下CEGUI 0.8.4编译过程详解
    数组去重统计排序
    计算当前月有几天
    前端开发仓库
    Jquery中bind(), live(), on(), delegate()四种注册事件的优缺点,建议使用on()
    图表那些事
    图标字体,矢量图标
  • 原文地址:https://www.cnblogs.com/webdom/p/8662129.html
Copyright © 2011-2022 走看看