当用户单击表格的一行时,我将显示模式( Bootstrap )对话框。这是我正在使用的一小段代码:
.done (function (data_, textStatus_, jqXHR_) {
$('<pre/>').html(doc_contents[1].text_content).appendTo('#employee_document_contents');
$('#mydialog').modal("show");
$('#mydialog').draggable();
});
上面的代码获取一个 JSON 值并显示在对话框中。我面临着与缓存相关的问题,我相信我的 ajax 调用。对话框中以前的内容不会被删除,我必须从浏览器中清除缓存,然后再次单击特定行才能查看我想看到的内容。我尝试使用 cache : false
,这样做在 URL 中添加了基于日期的时间戳,但我仍然在对话框中看到旧内容。一些 SO 帖子建议销毁该模式,但我相信它不会再次打开。我可以遵循任何更好的方法来确保我在对话框中看不到以前的内容吗?我使用 Chrome 作为浏览器。
最佳答案
我认为这不是缓存问题,而是 DOM 操作问题。
您应该替换 #employee_document_contents
中的内容,而不是appendTo。
在回调函数中尝试以下代码:
var content = $('<pre />').html(doc_contents[1].text_content);
$('#employee_document_contents').html(content); // Here you replace the content
$('#mydialog').modal("show");
$('#mydialog').draggable();
关于javascript - 从模式对话框中的 ajax 调用中删除缓存的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38864563/