Ajax脚本在IE中不起作用

时间:2013-12-27 10:37:07

标签: ajax internet-explorer jsf jboss richfaces

我使用的是JSF 1,2,我发现IE9或更高版本不支持Ajax脚本和请求。在我的项目中,我有同样的问题和错误,你可以在this source上使用IE 9 +重现

<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<h:form>
    <rich:panel bodyClass="rich-laguna-panel-no-header">
        <a4j:commandButton value="Set Name to Alex"  reRender="rep" >
            <a4j:actionparam name="username" value="Alex" assignTo="#{userBean.name}"/>
        </a4j:commandButton>
        <rich:spacer width="20" />
        <a4j:commandButton value="Set Name to John"  reRender="rep" >
            <a4j:actionparam name="username" value="John" assignTo="#{userBean.name}"/>
        </a4j:commandButton>
    </rich:panel>
    <rich:spacer height="1" />
    <rich:panel bodyClass="rich-laguna-panel-no-header">
        <h:outputText id="rep" value="Selected Name:#{userBean.name}"/>
    </rich:panel>
</h:form>

有人遇到过这个问题并找到了解决办法吗?

问题应该在服务器上修复,而不是在用户环境中修复。

谢谢。

2 个答案:

答案 0 :(得分:2)

RichFaces 3.x不支持IE9。有关详细信息,请参阅此answer

可能的解决方案(如参考答案中所述):

  1. 升级至RichFaces 4.
  2. 开启或强制执行IE8兼容模式
  3. 修补RichFaces 3(主要是javascripts)使其在本机模式下与IE9一起使用(有关更多详细信息,请参阅参考答案中的JBoss论坛主题)。

答案 1 :(得分:0)

它适用于IE 9+兼容IE8的兼容模式。添加元标记<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />并尝试使用。