【发布时间】:2017-07-24 05:14:50
【问题描述】:
当我在 ManagedBean 中调用操作时,我还通过 JSF ajax 调用函数 JS 以在操作正在处理时打开加载弹出窗口,如下面的代码所示。这在 Firefox 中完美运行,但在 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();
}
}
【问题讨论】:
-
可能不相关,但请尝试删除 prependId:stackoverflow.com/questions/7415230/…
-
@Kukeltje 我删除了表单中的 prependId 但没有用
标签: javascript jquery ajax google-chrome jsf