IE9用$.ajax请求不到数据

在Google下面都是ok的,IE10-11也是ok的,到了IE9就一直走errorajax

 

刚开始还觉得是ajax请求的参数有问题,改了不少遍一点变化都没有。json

在网上搜:说的是之因此会出现请求失效的问题,是由于IE有个缓存机制,会对请求的url进行判断,发现短期内请求url相同,则使用缓存的数据而不是从新去服务器获取一次数据。能够用如下两种方法解决跨域

但我这边仍是不起做用缓存

 

后来终于找到了解决方法:原来是由于跨域的问题服务器

解决方案:在$.ajax请求前加上 cors

jQuery.support.cors = true; 就能够了。
这是对cors协议的一种实现,CORS是W3C中额度一项新特性,能让jQuery支持跨域请求
可是也能够不这样写,那就的换另外一种方式了jsonp的格式。


这样仍是存在一个问题,在线下测试没有问题,若是放到服务器上面就会出现以下问题:

最简单的方法就是:异步

可是,通常用户是不可能去改的,假如只有十几二十个用户,这样的方法是能够的,可是客户多了的话,这样根本不可能让每个都去修改的。测试

 最后的解决方法是:jsonp

在全部的js前加上:转换的jsurl

将异步请求改为同步请求。

就能够完美的解决这个问题了。

相关文章
相关标签/搜索