0

我一直在寻找一种解决方案,当我在我的页面上进行 AJAX 调用时,我可以使用它来扩展 liferay 会话。我发现我们可以使用 Liferay.session.extend() 来扩展 liferay 会话。这是我在执行 AJAX 调用时在 Liferay 的扩展会话中发现的

但我无法调用扩展方法,在控制台中我收到错误 Liferay.session 未定义。

会有什么问题?

4

1 回答 1

1

如果您在 JSP 中进行调用,则可以在标签内进行调用,<aui:script>如下所示:

<aui:script use="liferay-session">
    Liferay.session.extend();
</aui:script>

或者

<aui:script use="liferay-session">
    function myCustomSessionExtend() {
        Liferay.session.extend();
    }
</aui:script>

或者,如果您使用的是单独的 javascript 文件( *.js),那么我认为以下内容应该有效:

AUI().use('liferay-session', function(A) {
    Liferay.session.extend();
});

或者

function myCustomSessionExtend() {

    AUI().use('liferay-session', function(A) {
        Liferay.session.extend();
    });

}

从 Liferay 6.0 开始,Liferay 使用 Alloy UI 作为默认的 javascript 库。Alloy UI 具有沙盒AUI().use (function(A) { ... });创建沙盒,即对象的隔离区域)和模块化(仅在需要时加载模块,因此liferay-session使用 Alloy UI 创建的此类模块)的概念。

有关更多信息,您可以查看此博客此文档

希望这将有助于解决您的问题。

于 2012-12-31T13:25:59.433 回答