我正在开发一个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很难删除带答案的问题。
答案 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'
}
});
});