发送多个ajax请求的问题

时间:2018-10-17 04:50:40

标签: jsf primefaces

我有一个数据表,其中第一列包含一些链接,以显示每个项目的详细信息。我正在使用f:ajax将请求发送到动作监听器。

虽然它确实是第一次工作(当我单击第一个链接或任何链接时),但此后它停止工作并且没有请求发送到动作侦听器。

<h:commandLink value="#{inquiry.myObject.property}"
                                actionListener="#{myBean.getDetail}">
                                <f:param name="someName" value="#{someBean.someName}"/>
                                <f:ajax
                                    render=":#{p:component('infoDisplay')}
                            :#{p:component('addFieldSet')} :#{p:component('myDetailsId')}" />
</h:commandLink>

如何确保为每个链接生成请求,而不仅仅是为第一次尝试生成请求?

sample table

更新---

这是动作监听器

public void getDetail(ActionEvent event) {
 String xyz=context.getRequestParameterMap().get("someName").toString();
//some task
}

我在此函数的第一行设置了一个断点。此函数仅被调用一次(第一次)。

第一次成功调用ajax之后,我可以在开发人员工具中看到以下错误。

customer?p_p_id=account_WAR_XXX&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_count=6&p_p_col_pos=1&_account_WAR_XXX_javax.faces.resource=primefaces.js&_account_WAR_XXX_ln=primefaces&v=4.0:5 Uncaught TypeError: Cannot read property 'source' of undefined

1 个答案:

答案 0 :(得分:0)

替换了<f:ajax render> with <p:ajax update>。我再也看不到开发人员工具上的JavaScript错误,并且所有功能似乎都能按预期工作。