Javascript angularjs IE Cache buster可以工作,但会破坏指令
我有一个IE缓存所有东西的问题,所以如果我切换了用户,我仍然会看到旧用户的数据,不再登录 我尝试了这个解决方案(在:),它成功了,但现在我的指令无法获得它所需的模板,我如何才能让这两种方法都起作用 代码:Javascript angularjs IE Cache buster可以工作,但会破坏指令,javascript,angularjs,internet-explorer,caching,Javascript,Angularjs,Internet Explorer,Caching,我有一个IE缓存所有东西的问题,所以如果我切换了用户,我仍然会看到旧用户的数据,不再登录 我尝试了这个解决方案(在:),它成功了,但现在我的指令无法获得它所需的模板,我如何才能让这两种方法都起作用 代码: app.config(['$httpProvider', function ($httpProvider) { //initialize get if not there if (!$httpProvider.defaults.headers.get) {
app.config(['$httpProvider', function ($httpProvider) {
//initialize get if not there
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
console.log($httpProvider.defaults.headers.get['If-Modified-Since']);
//disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';
}]);
我的指示:
app.directive('commentsContainer', function (commentResource, signalRService) {
return {
restrict: 'EAC',
templateUrl: '/Templates/Directives/_Comments.html',
link: function ($scope) {
//CODE
}
}
编辑强>
无论使用哪种浏览器,都会出现错误,以下是来自chrome的错误:
GET http://localhost:58991/Templates/Directives/_Comments.html 400 (Bad Request)
Error: [$compile:tpload] Failed to load template: /Templates/Directives/_Comments.html
没有用于缓存的角度snippit,它工作得很好
希望你能帮忙 在您提供的资源中,有两种可能的修复方法 第一个解决方案 If-Modified-Since标头使IIS+iisnode抛出400个错误请求 对于通过ngInclude和ngView加载的每个html文件。以下 两个头球为我解决了这个问题(我从Chrome上取下了它们, 其中没有缓存问题): $httpProvider.defaults.headers.get['Cache-Control']='no Cache'; $httpProvider.defaults.headers.get['Pragma']='no cache' 第二种解决方案 If Modified Since=“0”标头的使用中断了Tomcat(问题 使用解析标头日期,因为0不是有效值(RFC)。固定使用 将值改为“1997年7月26日星期一05:00:00 GMT”
你说的“不能”是什么意思,你是不是有错误?它提出请求了吗?请注意,IE没有
控制台
,除非您确实打开了控制台,这样可能会导致其损坏。哦,对不起。我会加上这个错误。my Bad尝试添加以下标题:$httpProvider.defaults.headers.get['Cache-Control']='no Cache'$httpProvider.defaults.headers.get['Pragma']='no cache'代码>嗯,它似乎起作用了。但是我必须删除$httpProvider.defaults.headers.get['If-Modified-Since']='0';这两个建议都导致Angular抛出错误,并且我的网页无法正确呈现(我仍然会在页面上看到花括号,而不是Angular绑定值…)