我正在 Grails 中制作一个应用程序(在这个应用程序中我使用 AJAX 和 jQuery),当我更改用户时,我想将微调器放在所有页面上方。
但是,它在一段时间内运行良好(大约 10 分钟),并且在使用此页面一段时间后没有刷新微调器不再出现。原因是缺少包含微调器的 HTML 元素。
有人可以告诉我为什么会发生这种情况吗?
这里是较短版本的代码:
主页(HTML):
<div class="container">
<div id="changeUserDiv">
<g:render template="/changeUser"/>
</div>
<div>
<div id="errorContainer"></div>
<g:render template="myTemplate"/>
</div>
<div id="loadingAllPage" class="modal-background" style="display:none;">
<i class="fa fa-5x fa-spinner fa-spin"></i>
</div>
</div>
主页(JS):
$("#changeUserDiv").change(function(){
$("#loadingAllPage").show();
ajaxAction();
});
myTemplate(JS):
function ajaxAction()
{
// some code
$.ajax({
// some code
success:function(data){
$("#loadingAllPage").hide();
});
}
最佳答案
首先,这不是显示加载程序的正确方法。 您应该检查其他方法来清除此问题。
为此, 该问题可能是由于内容在一段时间后发生变化
- 来自另一个页面的具有时间间隔的其他 ajax 调用
div 的内容以其他方式更新
关于javascript - 使用页面一段时间后未刷新 HTML 元素丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53408581/