我最近开始使用Restangular来向RESTful服务发出跨域请求,到目前为止一切都很好。
但是对于IE10,当第一次发出GET请求时它从服务器获取数据,并且对于后续调用它不会命中服务器,并返回可能的缓存数据。我需要从服务器刷新数据。我尝试将defaultHttpFields缓存设置为false,但没有运气。请帮忙!
谢谢, 拉克希米
答案 0 :(得分:1)
我是Restangular的创造者。
请你发一个例子吗?如果你没有在defaultHttpfields中将缓存设置为true,则Restangular不应该缓存它。
如果请求在开发人员控制台的“网络”选项卡中输出,您是否已经进行了清理?它在其他浏览器中有效吗?检查RestangularResource的restangular Library是否正在进行$ http调用。
希望它有所帮助!
答案 1 :(得分:0)
我也打了这个。似乎IE10特别热衷于缓存来自RESTful调用的结果。
我使用的一个解决方法是只为每个请求提供一些独特的值作为参数,然后IE10似乎很高兴不缓存它。我使用了以ms为单位的当前时间戳,因为我看过jQuery过去使用类似的解决方法。
var postsApi = Restangular.all("posts");
$scope.allPosts = postsApi.getList({ nocache : new Date().getTime() });
现在可以使用。