javascript - 如何防止我的服务在 Angular 中缓存数据?
问题描述
我正在通过获取请求检索数据并将它们显示在表格中,如果我刷新页面,我将始终让请求以我想要的方式发生,但如果更改路线并返回表格页面,它将从第一个服务中获取缓存的数据,因此,如果我删除一个项目,它就会从表中消失。如果我更改路线,该项目将卷土重来,因为缓存的数据仍然有我删除的项目。提前致谢!
这是请求,它在 NgOnInit() 上执行
getSolicitacoes():Observable<any[]> {
return this.http.get<any[]>(URL_API + '/solicitacao', httpOptionsUno);
}
这就是我获取和删除表格中显示的数据的方式
getSolicitacoes() {
this.solicitacaoService.getSolicitacoes().subscribe( data => {
this.solicitacoes = data;
this.dtTrigger.next();
}, error => {
console.log(error);
})
}
apagarSolicitacao(id, index) {
this.solicitacaoService.deleteSolicitacao(id).subscribe(data => {
this.toast.success('Solicitação deletada com sucesso!');
this.solicitacoes.splice(index,1);
}, error => {
console.log(error);
this.toast.error('Não foi possível deletar a solicitação!');
},
() => this.rerender()
)
}
我已经尝试使用缓存控制、编译指示和过期标头将元标记添加到我的 html 中。我很抱歉我的英语,试图找到我的语言的解决方案,但这是一场斗争。
解决方案
推荐阅读
- java - 使用 Saxon 对 Mei 文件 (xml) 运行 XSL 转换
- windows - cmd和资源管理器启动可执行文件之间的区别
- reactjs - 如何在 CKeditor5-ReactJS 或 .Net 中添加 MathType 和 ChemType 插件?
- c - C:返回本地结构有效但返回本地数组无效?
- python - Ubuntu 上的 Eric6 没有名为“串行”的模块
- c - 如何在 C 中的日期字符串中对字符串日期进行二进制搜索?
- sass - Rollup - 允许在 js 中导入 scss 文件中的 :export 语句
- qgis - 如何在qgis上查看地图数据
- linux - 使用 libiio 触发器将 IRQ 传播到用户空间
- c++ - CMAKE:找不到 Boost(缺少:date_time)(找到合适的版本“1.76.0”,最低要求是“1.76.0”)