0

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

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

这工作正常。但是,当用户更改 UI 中的语言时,我也会更改Accept-Language所有 AJAX 调用的标题。

问题是缓存是基于 URL 完成的,因此如果使用en-USasAccept-Language进行调用,那么它会被缓存,并且任何其他调用(无论语言如何)都是从缓存中提供的。

我不想将语言添加到 URL。

我有哪些选择?

4

1 回答 1

2

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

于 2014-03-17T21:38:24.707 回答