我目前正在使用jQuery / Ajax。我想在发出ajax请求时添加一个微调器。我的方案是:UI中有两个选项卡,一个是Home,另一个是Activities。因此,当用户单击“活动”选项卡时,它将向后端发出ajax请求。此时我想在整个页面中添加一个加载微调器叠加层。我目前正在使用jQuery块UI。我似乎无法解决这个问题。我的代码是这样的:
beforeSend: function (xhr) {
$.blockUI({message: $("#spinner")});
//show the loading spinner.
},
success: function (data) {
//get the data.
},
error: function (error) {
//get the error response.
},
complete: function (jqXHR, textStatus) {
$.unblockUI();
//hide the loading spinner
}
我的旋转器元素是这样的:
<div id="spinner" style="background:url('assets/img/spinner.gif')"></div>
我在这里缺少什么......
更新:(已解决) 原因是由于ajax同步性质。它会锁定浏览器,直到收到响应。所以,我通过调用改变为异步。您可以在这里查看更多讨论。 view
答案 0 :(得分:0)
根据jQuery BlockUI Plugin's documentation,message
参数需要HTML字符串。
因此,您必须将代码的这一部分更改为:
$.blockUI({ message: $("#spinner").html() });