【问题标题】:Why JSF ajax status success not working in Chrome?为什么 JSF ajax 状态成功在 Chrome 中不起作用?
【发布时间】: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();
}

}

【问题讨论】:

标签: javascript jquery ajax google-chrome jsf


【解决方案1】:

我认为 Chrome 在同步调用方面存在问题。你的ajax调用同步吗?如果是,请尝试使其异步。在您的 ajax 调用中,将数据放在下面:

async: false

【讨论】:

    猜你喜欢
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多