javascript – 使用JSF ajax请求刷新URL

前端之家收集整理的这篇文章主要介绍了javascript – 使用JSF ajax请求刷新URL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用JSF 2和PrettyFaces以及< h:link>和< f:param>广泛标记获取可收藏的页面(最终忘记JSF应用程序中的所有POST请求真是太棒了).

但是,其中一些链接只会更改页面的一小部分(主要是当用户停留在同一视图中时),因此发送ajax请求会更好.但是,< f:ajax>不能与< h:link>一起使用,只需< h:commandlink>.我也可以使用commandlink以多种方式发送参数,但在这种情况下,URL在请求后保持不变.因此它与页面内容不同步,并且不可刷新.

我已经看到使用链接发送GET和ajax请求(在使用ajax修改页面时指向新URL)的网站,但到目前为止我还没有找到任何解决方案.

在ajax请求完成后(或用户点击时),我可以用jsf以某种方式刷新URL吗?或者我是否必须使用一些外部JS库?

编辑:这里需要的JS库是新的JavaScript History API. More info.
我猜JSF目前不使用这个API.但是我仍然从JSF开发人员的角度对这个问题感兴趣.

此外,它是否计划在未来发布JSF?结合< f:ajax>与< h:link>将是一个完美的解决方案.

解决方法

< F:AJAX>有属性onevent.它采用javascript函数名称,它将在ajax请求成功完成后调用.因此可以添加js函数,该函数将在ajax调用完成后导航到所需的url.就像是:
<h:commandLink id="testButton"
                       value="Test">
            <f:ajax event="action"
                    execute="@form"
                    render="@none"
                    listener="#{myBean.testButtonClickedHandler}"
                    onevent="navigate"/>
        </h:commandLink>

<script type="text/javascript">
    function navigate() {
        window.location.href = "required url";
    }
</script>
原文链接:https://www.f2er.com/ajax/156292.html

猜你在找的Ajax相关文章