【问题标题】:GET request sent to REST API only first time in IE10仅在 IE10 中第一次将 GET 请求发送到 REST API
【发布时间】:2013-07-04 10:59:42
【问题描述】:
我最近开始使用 Restangular 向 RESTful 服务发出跨域请求,到目前为止一切正常。
但是对于 IE10,当它第一次发出 GET 请求时,它只会从服务器获取数据,而对于后续调用,它不会命中服务器,并且可能返回缓存的数据。我需要从服务器刷新数据。我尝试将 defaultHttpFields 缓存设置为 false,但没有运气。请帮忙!
谢谢,
拉克希米
【问题讨论】:
标签:
get
refresh
internet-explorer-10
【解决方案1】:
我是 Restangular 的创造者。
你能举个例子吗?如果您没有在 defaultHttpfields 中将缓存设置为 true,Restangular 根本不应该缓存它。
您是否在开发者控制台的“网络”选项卡中检查了请求是否发出?它在其他浏览器中是否有效?检查 RestangularResource 的 restangular 库,看看它是否在进行 $http 调用。
希望对你有帮助!
【解决方案2】:
我也刚打了这个。似乎 IE10 特别热衷于缓存 RESTful 调用的结果。
我使用的一种解决方法是只为每个请求提供一些唯一值作为参数,然后 IE10 似乎很乐意不缓存它。我使用了以毫秒为单位的当前时间戳,因为我过去曾看到 jQuery 使用过类似的解决方法。
var postsApi = Restangular.all("posts");
$scope.allPosts = postsApi.getList({ nocache : new Date().getTime() });
暂时有效。