如何使用缓存使$ http调用无效:标题更改时为true

时间:2014-03-17 11:09:06

标签: angularjs angularjs-http

我正在获取远程资源并缓存结果:

$http({
    method:'GET',
    cache:true,
    url:'...'
});

这很好用。但是,当用户更改UI中的语句时,我还会更改所有AJAX调用的Accept-Language标题。

问题是缓存是基于URL完成的,因此如果使用en-US进行调用,Accept-Language进行缓存,则无论语言如何,都会从缓存中提供任何其他调用。

我不想将该语言添加到网址中。

我有什么选择?

1 个答案:

答案 0 :(得分:2)

当用户更改语言时,

$cacheFactory可用于使缓存无效。您可以尝试装饰它,或者将其包装在服务中