jquery.ajax 加载数据, chrome, firefox, IE10+ 都可以顺利加载数据,但是IE9及以后版本不执,通过执行 jquery.ajax error 函数显示未执行 拒绝访问。

解决方法1:

针对 拒绝访问 是由于浏览器安全机制导致的,解决方法为点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”,点击确定就可以了(但是此法需要用户自行设置不太现实)

解决方法2:

对于浏览器跨域 IE10+ 才支持withCredentials属性IE9- 不支持,跨域对象只能用XDomainRequest对象,而jQuery并不兼容XDomainRequest.. 针对此方法网络上有解决的插件 jQuery-ajaxTransport-XDomainRequest

(在ie10以下XMLHttpRequest 需要跨域资源共享(CORS)。jQuery XDomainRequest 是一个利用 XDomainRequest 对象为 IE8、IE9 实现跨域资源共享(CORS - Cross Origin Resource Sharing)的 jQuery 插件)

约束:
1. 使用 $.ajax 发送请求,jQuery 版本需在 1.5+
2. 服务端需设置 header:header('Access-Control-Allow-Origin:http://angular.js');
3. 请求方式仅限:GET / POST
4. 协议仅限:HTTP / HTTPS,且必须相同
5. 仅限异步请求

经验:
服务端设置 header('Access-Control-Allow-Methods:GET,PUT,POST,DELETE,OPTIONS'); 时,各浏览器跨域支持情况有差异。

代码:
api.php:
<?php
    // 指定可信任的域名来接收响应信息
    header('Access-Control-Allow-Origin:http://angular.js');
    // 允许携带 用户认证凭据(也就是允许客户端发送的请求携带Cookie)
    header('Access-Control-Allow-Credentials:true');
    //header('Access-Control-Allow-Methods:GET,PUT,POST,DELETE,OPTIONS');
    //header('Access-Control-Allow-Headers:Content-Type, Authorization, Content-Length, X-Requested-With, Accept, x-csrf-token, origin');

$type = $_SERVER['REQUEST_METHOD'];
    parse_str(file_get_contents('php://input'), $data);
    $data = array_merge($_GET, $_POST, $data);

echo json_encode(array(
        'type' => $type,
        'data' => $data['data']
    ));
?>

用法(直接上图):

最新文章

  1. Android开发案例 – 在AbsListView中使用倒计时
  2. NCBI database download
  3. 关于delegate(代理)总结
  4. Software Testing hw3
  5. 命令行模式下 MYSQL导入导出.sql文件的方法
  6. Android开发新手第一要素
  7. POJ 3164 Command Network 最小树形图
  8. redis多实例运行
  9. 自定义使用S缓存方法
  10. 模糊集合和隶属度函数--AForge.NET框架的使用(一)
  11. 驱动编程思想之初体验 --------------- 嵌入式linux驱动开发之点亮LED
  12. leetcode先刷_Climbing Stairs
  13. Gitlab备份与恢复[七]
  14. myisamchk命令修复表操作
  15. 利用Laplacian变换进行图像模糊检测
  16. 力扣(LeetCode)453. 最小移动次数使数组元素相等
  17. vyatta的fork开源版本vyos
  18. Laravel 配置文件操作方法
  19. Bootstrap-datepicker日期时间选择器的简单使用
  20. webservice使用注解修改WSDL内容

热门文章

  1. [JavaEE]Spring配置文件总结
  2. 错误:java.lang.IllegalArgumentException: Receiver not registered
  3. reflect 反射结合集合泛型的总结
  4. 脚本_统计固定时间段服务器的访问量.sh
  5. CF 949C Data Center Maintenance_强联通分量_思维题
  6. 路飞学城Python-Day40(第四模块复习题)
  7. Vue学习之路第六篇:v-on
  8. POJ 1905 Expanding Rods( 二分搜索 )
  9. 使用python备份数据库并删除备份超过一定时长的文件
  10. el-select 根据value查询其对应的label值