Bootstrap 4.1.3 modal body 保留 jquery 返回的数据。如何清除每个新请求的缓存?

Posted

技术标签:

【中文标题】Bootstrap 4.1.3 modal body 保留 jquery 返回的数据。如何清除每个新请求的缓存?【英文标题】:Bootstrap 4.1.3 modal body retains jquery returned data. How to clear cache for each new request? 【发布时间】:2019-10-01 19:43:48 【问题描述】:

我有一个通过 jquery 提交数据的表单,然后通过引导模式显示。

但是,问题在于,如果我快速尝试为表单赋予新值,那么模态体有时不会显示新计算的值,而是显示旧的缓存值。

如何在 bootstrap 4 中销毁模态缓存数据?我尝试了各种 bootstrap3 技巧,但它不起作用,我仍然间歇性地看到旧的缓存数据。

这是我尝试过的。

  $('#modalForm').on('hidden.bs.modal', function () 
      $('#modal_content').empty();
      $('#modalForm').modal('dispose');
      $(this).find('form').trigger('reset');
      $(this).find('form')[0].reset();
      //$('.modal').remove(); // this prevents future modals
  );

任何帮助将不胜感激。

【问题讨论】:

你能提供代码来填充或创建模态吗? 您能否检查您的表单是否不包含名称为“reset”的元素。在这种情况下,重置功能将不起作用 【参考方案1】:

这可能是一个绑定问题,您将hidden.bs.modal 绑定到#modalForm,所以除非您在某个时候不取消绑定,否则相同的代码将始终使用旧值执行。

尝试通过将此代码 $('#modalForm').off('hidden.bs.modal') 放在 $('#modalForm').on('hidden.bs.modal', function () [...] 之前来解除绑定,如果它不起作用,您可能只想使用 $('#modalForm').one('hidden.bs.modal') 绑定一次。

【讨论】:

以上是关于Bootstrap 4.1.3 modal body 保留 jquery 返回的数据。如何清除每个新请求的缓存?的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap:在 Modal 中打开另一个 Modal

js学习之--Bootstrap Modals(模态框)

bootstrap modal 模态框拖拽扩展

bootstrap 模态框 modal 插件在一个含有多个页面

Bootstrap 4 .modal('hide') 不工作

新手问题,AngularJS,bootstrap modal 怎么获取数据