注销后如何在不使用浏览器缓存的情况下从服务器重新加载角度应用程序

时间:2016-04-04 21:48:34

标签: javascript angularjs caching reload

我正在开发一个Angular应用。在注销时我们删除了一些cookie,然后我们想从服务器(而不是浏览器缓存)重新加载页面,包括所有JS脚本。

服务器有一些身份验证,如果没有cookie,将重定向到登录表单。

关注MDN文档,要在不使用缓存的情况下重新加载页面,我将window.location.reload(forceReload);forceReload=true一起使用。但它不起作用。页面重新加载,但不是从缓存而是从服务器。

            $http({
                method: 'GET',
                url: api.baseUrl + '/logout',
            }).then(function() {
                // Should reload the current page, without using the cache
                window.location.reload(true);
                return;
            });

修改

上面的代码是正确的,它确实在不使用缓存的情况下重新加载页面。

问题出在我们服务器端的auth上。我会删除这个问题,但Stack Overflow很难删除带答案的问题。

1 个答案:

答案 0 :(得分:-1)

您可以使用

删除http请求缓存
$cacheFactory.get('$http').removeAll();

对于每个请求,您都可以指定是否要缓存响应:

factory('User', function($resource) {
    return $resource(yourapi + 'route', {}, {
        get: {
            cache: false, // you can disable cache for login for example !
            method: 'GET'
        }
    });
});