【发布时间】:2019-07-13 11:39:49
【问题描述】:
当我的服务器回答 ajax 查询时,我正在做一个简单的微调器反馈。我在进行 ajax 调用之前调用了 JQuery .show() 函数,并在请求的 .always() 回调中调用了 .hide() 函数。
但我的微调器从不隐藏!我不明白为什么...有人使用带有 Bootstrap 微调器的 JQuery 的 .hide() 函数遇到这个问题吗?
更多关于.getJSON()here的信息,更多关于.hide()和.show()here的信息。
这是我的 html 微调器,来自here
<div id="spinner-map-right-click" class="d-flex justify-content-center">
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
这是我的javascript:
$('#spinner-map-right-click').show()
$.getJSON({ url: "myurl" })
.done(function(data) {
// does stuff here and it works
})
.fail(function(data) {
// display error message if there is an error
})
.always(function(data) {
console.log("Hiding")
// the console log displays but my spinner is always ther :(
$('#spinner-map-right-click').hide()
});
请求有效,我正确获取了数据,"Hiding" 显示正确,因此正确调用了 always() 回调,当我检查 Firefix 中的代码时,我看到 <div> 已正确修改:
<div id="spinner-map-right-click" class="d-flex justify-content-center" style="display: none;">
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
【问题讨论】: