我在Angular 4上工作,我有一个语言列表,每个列表旁边都有一个星号。用户点击星标后,语言就会被添加到收藏夹中。
问题:我单击星标时,语言似乎会添加到收藏列表中,但是当我刷新页面时,之前选择的收藏夹不会被反映出来(对数据库的调用不会进行,更改不会反映到数据库中。)
更大的问题:当我打开IE的开发工具并向收藏夹添加语言时,它会显示在收藏夹面板中,如果刷新页面,那么此处也会显示之前选择的收藏夹(调用数据库并将更改反映到数据库中。
因此,如果IE开发工具处于打开状态,则没有问题,并且外部工作正常,当我关闭开发工具时,收藏夹添加或删除的列表不会出现在页面加载中。控制台中没有错误(def setup(app):
app.add_stylesheet('styles.css')
除外,我不知道这是什么,我们没有使用SockJS)。我怎么想调试这个问题?开启工具关闭后会出现什么问题?
答案 0 :(得分:0)
您必须防止为获取请求缓存,Internet Explorer在触发获取请求时会从缓存中获取数据。您必须在标题中添加无缓存。
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})