【问题标题】:Not able to extend liferay session programatically无法以编程方式扩展 liferay 会话
【发布时间】:2012-12-31 21:25:59
【问题描述】:

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

但我无法调用扩展方法,在控制台中我收到错误 Liferay.session is not defined。

会有什么问题?

【问题讨论】:

  • 希望你把调用Liferay.session.extend()写在这个脚本标签<aui:script use="liferay-session"> ... </aui:script>中。
  • 我在 JS 文件中编写的函数中调用了它

标签: javascript ajax session liferay


【解决方案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 创建的此类模块之一)。

更多信息可以查看this blogthis document

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

【讨论】:

  • 我为单独的 javascript 文件 (*.js) 尝试了您的解决方案,但不幸的是它不起作用。可能是什么原因?我遇到了同样的错误- Liferay.Session 未声明
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 2012-03-02
  • 1970-01-01
相关资源
最近更新 更多