我正在使用JSF Mojarra 2.2.1,Primefaces 4.0快照和IE 9.这个问题发生在IE 9中,当我用f:ajax替换它时也存在类似的问题,除非我使用@all渲染。当命令按钮通过ajax请求呈现时,它会在以下请求中触发正常的请求。我创建了一个简单的代码来说明问题。JSF&Primefaces&IE Ajax不起作用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h:form id="testForm">
<h1>Test of IE9 Ajax</h1>
Text: <h:outputText value="#{testBean.count}" />
<br />
<p:commandButton oncomplete="alert('a')" update=":testForm"
action="#{testBean.increment}" value="click me">
</p:commandButton>
</h:form>
</h:body>
</html>
我的bean是,
package test;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
public class TestBean implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private int count = 0;
public void increment()
{
count++;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
在测试中,警报仅在该Ajax调用的其他指标是不是平稳地进行奇数给出的。
更新:
我意识到这种情况正在发生,因为IE9忽略输入当他们更换jQuery的替换所有方法的onclick =‘JavaScript的’事件。
更新2:
这并不在我家的电脑IE 9(版本相同)发生,它发生只在办公室的电脑。我看不到安全设置,你知道为什么会发生这种情况吗? Javascript的工作原理,但无法正常工作。
任何帮助,高度赞赏。
感谢
有时,这个问题是由于primefaces的jar,尝试其他版本的primefaces,可能会工作,也检查IE控制台知道问题 –
更改为2旧的primefaces vers没有工作,有趣的是它呈现按钮点击事件的脚本之后,但它在第一次点击中执行脚本并且不在第二次点击中执行。脚本:onclick =“PrimeFaces.ab({source:'testForm:j_idt7',update:'testForm',oncomplete:function(xhr,status,args){alert('a');}}); return false;” – erdemoo
你可以尝试没有冒号,即更新=“testForm”? – berkay