我在我的 JSF 应用程序中使用 p:remoteCommand。我有 7 个不同的 p:remoteCommand 声明在 bean 中调用不同的操作。点击按钮,同时调用这 7 个远程命令。调用了 JS 函数,但有时没有执行对服务器的请求,这仅在 IE 上发生。我只在 IE 8 上测试过。
我试图检查在 AJAX 中返回的错误是什么,但我得到的只是 xhr=error、status=Unknown 和 error=undefined。
我的功能和 p:remoteCommand 如下:
function loadResult() {
loadSmry();
load1();
load2();
load3();
load4();
load5();
load6();
}
<p:remoteCommand id="loadId"
name="loadSmry"
async="true"
action="#{designBean.saveSmry}"
process="@this"
onsuccess="summaryCount=0;"
onerror="handleXhrError(xhr, status, error)"
update="logId"/>
<p:remoteCommand id="loadId1"
name="load1"
async="true"
action="#{designBean.showChrt1}"
onstart="showAjaxLoader('begin',1)"
oncomplete="showAjaxLoader('success',1)"
onerror="handleXhrError(xhr, status, error)"
process="@this"
update="chart1" />
<p:remoteCommand id="loadId2"
name="load2"
async="true"
action="#{designBean.showChrt2}"
onstart="showAjaxLoaderForSummary('begin',2)"
oncomplete="showAjaxLoader('success',2)"
onerror="handleXhrError(xhr, status, error)"
process="@this"
update="chart2" />
<p:remoteCommand id="loadId3"
name="load3"
async="true"
action="#{designBean.showChrt3}"
onstart="showAjaxLoader('begin',3)"
oncomplete="showAjaxLoader('success',3)"
onerror="handleXhrError(xhr, status, error)"
process="@this"
update="chart3" />
<p:remoteCommand id="loadId4"
name="load4"
async="true"
action="#{designBean.showChrt4}"
onstart="showAjaxLoader('begin',4)"
oncomplete="showAjaxLoader('success',4)"
onerror="handleXhrError(xhr, status, error)"
process="@this"
update="chart4" />
<p:remoteCommand id="loadId5"
name="load5"
async="true"
action="#{designBean.showChrt5}"
onstart="showAjaxLoader('begin',5)"
oncomplete="showAjaxLoader('success',5)"
onerror="handleXhrError(xhr, status, error)"
process="@this"
update="chart5a chart5b" />
<p:remoteCommand id="loadId6"
name="load6"
async="true"
action="#{designBean.showChrt6}"
onstart="showAjaxLoader('begin',6)"
oncomplete="showAjaxLoader('success',6)"
onerror="handleXhrError(xhr, status, error)"
process="@this"
update="chart6" />