Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs IE Cache buster可以工作,但会破坏指令_Javascript_Angularjs_Internet Explorer_Caching - Fatal编程技术网

Javascript angularjs IE Cache buster可以工作,但会破坏指令

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) {

我有一个IE缓存所有东西的问题,所以如果我切换了用户,我仍然会看到旧用户的数据,不再登录

我尝试了这个解决方案(在:),它成功了,但现在我的指令无法获得它所需的模板,我如何才能让这两种方法都起作用

代码:

   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绑定值…)