如何在AngularJS上继续读取JSON文件并刷新Cache

时间:2015-11-20 00:41:15

标签: angularjs http caching get

我在MVC上有一个使用angularJS的项目。

这是我目前的配置文件

app.config
(
    function ($httpProvider, $translateProvider)
    {
        $httpProvider.defaults.headers.post = {};
        $httpProvider.defaults.headers.post["Content-Type"] = "application/json; charset=utf-8";

        //initialize get if not there
        if (!$httpProvider.defaults.headers.get)
        {
            $httpProvider.defaults.headers.get = {};
        }

        //disable IE ajax request caching
        $httpProvider.defaults.headers.get['If-Modified-Since'] = '0';
    }
);

你可能会注意到我的代码中有这个:

$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';

我注意到Internet Explorer中的一个错误,如果你第一次加载页面,它会正确加载所有数据,但是如果你添加一个记录,下次你加载页面它会保持相同的视图第一次,除非你重置缓存。因此,该代码行有助于它始终刷新站点。

现在,我正在尝试读取JSON文件:

$http.get('../App/Languages/en.json');

但是,我收到错误400.0错误请求;

我意识到如果我删除了

$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';

并将其替换为

$httpProvider.defaults.headers.get["Content-Type"] = "application/json; charset=utf-8";

JSON文件将被正确读取,但是,这意味着我将删除缓存问题的解决方案。

我已经尝试过同时添加两行代码,但不再读取JSON文件。

有关如何解决此问题的任何建议?

0 个答案:

没有答案