提问人:Anna 提问时间:6/15/2018 更新时间:6/22/2018 访问量:210
打开 IE 11 开发工具导致问题
Opening IE 11 dev tool causing the issue
问:
我在 Angular 4 上工作,我有一个语言列表,每个列表旁边都有一个星号。一旦用户单击星号,该语言就会添加到收藏夹中。
问题:我点击的那些语言似乎被添加到收藏夹列表中,但是当我刷新页面时,以前选择的收藏夹没有反映出来(对数据库的调用没有进行,更改没有反映到数据库)。
更大的问题:当我打开 IE 的开发工具并将一种语言添加到收藏夹时,它会显示在收藏夹面板中,如果刷新页面,则先前选择的收藏夹也存在在那里(调用数据库并将更改反映到数据库中)。
因此,如果 IE 开发工具已打开,则没有问题,并且一切正常,当我关闭开发工具时,收藏夹添加或删除的列表不会出现在页面加载中。控制台中没有错误(除了我不知道这是什么,我们没有使用 SockJS)。我应该如何调试这个问题?关闭开发工具时会出现什么问题?SockJS reconnect
答:
0赞
Fateh Mohamed
6/22/2018
#1
您必须阻止 GET 请求的缓存,Internet Explorer 在触发 GET 请求时从缓存中获取数据。您必须在标头中添加 no-cache。
const apiHeaders = new HttpHeaders({ 'Content-Type': 'application/json',
'Cache-control': 'no-cache, no-store, must-revalidate',
'Pragma': 'no-cache',
'Expires': '-1'
});
...
return this.http.get(uri, { headers: apiHeaders})
评论