2014-06-12 76 views
0

一直在這個問題,我有點卡住了。JSF/Primefaces - Ajax請求有時會跳過JSF階段

使用:JSF 2.0,Primefaces 3.5,WebLogic Server將10.35,IE 9

問題:有時Ajax請求是不正確處理,您需要點擊多次,以獲得期望的結果。

當我調試JSF階段時,我可以看到,階段1後,恢復視圖,渲染響應階段將跳過更新模型和調用應用程序階段。 我已經將我的應用程序劃分爲最低限度,並且問題仍然存在。

XHTML:

<h:form id="searchForm" > 
    <p:commandLink id="searchLink" 
     value="#{message['menu.search']}" 
     actionListener="#{searchController.search}" 
     update=":searchForm:searchContainer"/> 

    <h:panelGroup id="searchContainer" layout="block"> 
      <h:outputText value="#{searchForm.searchResult}" /> 
    </h:panelGroup> 
</h:form> 

Ajax請求zhcon失敗atempt:

Request 
javax.faces.partial.ajax=true&javax.faces.source=searchForm%3AsearchLink&javax.faces.partial.execute=%40all&javax.faces.partial.render=searchForm%3AsearchContainer&searchForm%3AsearchLink=searchForm%3AsearchLink&searchForm=searchForm&javax.faces.ViewState=-2472092625767957060%3A2001152572050371116 

Response: 
<?xml version='1.0' encoding='UTF-8'?> 
<partial-response><changes><update id="javax.faces.ViewState"><![CDATA[3781425509483626748:3390680605459134566]]></update></changes></partial-response> 

這隻發生在IE9我們的測試環境,而不是在本地或開發環境這使我相信它有事可做與weblogic服務器以及它如何配置或IE。 但我在這裏感到茫然,任何幫助我可以開始尋找解決方案,將不勝感激。

+0

這通常是驗證/轉換錯誤或調用'FacesContext#responseComplete()'的結果。這隻發生在你說的IE中? – kolossus

+0

我一直無法在Firefox或Chrome中重現此錯誤。 驗證/轉換錯誤,我的第一次猜測也是如此,但是在刪除所有驗證/轉換後問題仍然存在。我們不是在代碼中「手動」調用FacesContext#responseComplete。 – user3733470

+0

我現在已經解決了這個問題。問題與此有關:http://blogs.msdn.com/b/ieinternals/archive/2010/11/22/internet-explorer-post-bodies-are-zero-bytes-in-length-when-authentication -challenges-are-expected.aspx – user3733470

回答