2012-11-12 2 views
5

I utilizza p: remoteCommand nella mia applicazione JSF. Ho 7 diversi p: remoteCommand dichiarato di chiamare diverse azioni nel bean. Con il clic sul pulsante, questi 7 comandi remoti vengono richiamati contemporaneamente. La funzione JS viene chiamata ma la richiesta al server a volte non viene eseguita e ciò accade solo su IE. Ho provato solo su IE 8.Primefaces p: remotecommand non funziona in IE 8

Ho provato a verificare quale errore viene restituito in AJAX chiamato ma tutto ciò che ottengo è xhr = errore, stato = Sconosciuto e errore = non definito.

La mia funzione e p: remoteCommand è come segue:

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" /> 
+0

alcuna possibilità di moduli annidati? – Daniel

+0

@Daniel Nessun modulo nidificato – user1817436

+0

perché questi id? ; chart5a chart 5b; forse; chart5a chart5b; (senza spazio), inoltre, provare a rimuovere i comandi per vedere quale fa i problemi ... – Daniel

risposta

0

Vedo che si sta utilizzando async="true" su tutti i vostri comandi remoti. A seconda del tipo di bean, ciò potrebbe essere problematico. Stai cercando di eseguire questi comandi in modo asincrono. Se questo è assolutamente necessario, la risposta potrebbe non essere d'aiuto, ma per favore cambia async="true" a async="false". È molto probabile che questo risolva il tuo problema.

Questo problema è stato segnalato anche sulle primefaces forum e questo ha aiutato anche.