p:poll在“oncomplete”函数上返回undefined

时间:2015-06-20 17:18:33

标签: jsf jsf-2 primefaces undefined ajax-polling

我有一个奇怪的问题(可能是一个错误)与poll组件并尝试在回调时返回值。因为Poll元素在名为“oncomplete”的函数上返回undefined

我不明白为什么args总是未定义的。我尝试了所有。日志总是说未定义的args参数。

这似乎是“民意调查”元素的问题,因为如果我使用“commandButton”一切都完美无缺,而且args返回是纠正的......为什么?

Mojarra 2.2.8,PrimeFaces 5.2,Tomcat 7

这是我的dash.jsf:

func sumaEnteros2(enteros : [Int]) -> Int {
    return enteros.reduce(0, combine: +)
}

MarkersView.java:

<h:form>
<p:poll actionListener="#{markersView.save}" oncomplete="handlePollRequestComplete(xhr, status, args)" widgetVar="mypoll" />
</h:form>

    <script>
        function handlePollRequestComplete(xhr, status, args) {
            PrimeFaces.debug("Save:" + args.saved);
        }
    </script>

记录PrimeFaces:

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.RequestContext;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;

@ManagedBean
public class MarkersView {

    private MapModel simpleModel;

    @PostConstruct
    public void init() {

    }

    public void save() {
        RequestContext context = RequestContext.getCurrentInstance();
        context.addCallbackParam("saved", "true");    //basic parameter



    }

}

回复日志:

20/6/2015, 11:07:25 : Initiating ajax request.
20/6/2015, 11:07:25 : Form to post j_idt12.
20/6/2015, 11:07:25 : URL to post /dash.jsf.
20/6/2015, 11:07:25 : Post Data:javax.faces.partial.ajax=true&javax.faces.source=j_idt12%3Aj_idt13&javax.faces.partial.execute=%40all&j_idt12%3Aj_idt13=j_idt12%3Aj_idt13&j_idt12=j_idt12&javax.faces.ViewState=6291534270084680507%3A9051076211686237374
20/6/2015, 11:07:25 : Response received succesfully.
20/6/2015, 11:07:25 : DOM is updated.
20/6/2015, 11:07:25 : Save:undefined
20/6/2015, 11:07:25 : Response completed.

0 个答案:

没有答案