当我在ManagedBean中调用操作时,我还通过JSF ajax调用函数JS,以便在处理操作时打开一个加载弹出窗口,如以下代码所示。这在火狐中工作得很好,但在chrome中就不行了,甚至在chrome中也是如此(只有隐身模式)。我通过console.log进行了调试,我检查出在chrome中,ajax响应只达到完成状态,而不是成功。
XHTML
<h:form prependId="false">
...
<button class="btn btn-inverse" jsf:action="#{sendSmsMB.sendSms()}">
<i class="fa fa-save"></i> ENVIAR
<f:ajax execute="@form" render="@form" onevent="ajaxLoader" />
</button>
</h:form>
JS
function ajaxLoader(data){
if(data.status == "begin"){
$.blockUI({
message: '<h5> <img src="../../../resources/img/loader_blue.gif" />
<b>Espere que se complete el proceso de carga</b></h5>'
});
}else if(data.status == "complete"){
$.unblockUI();
}else if(data.status == "success"){
$.unblockUI();
}
}
发布于 2017-07-28 18:24:17
我认为Chrome在同步调用方面有问题。你的ajax呼叫同步了吗?如果是,试着让它异步。在ajax调用中,将数据放在下面:
async: false
https://stackoverflow.com/questions/45273059
复制相似问题