我一直在寻找一种解决方案,当我在页面上进行AJAX调用时,可以使用该解决方案扩展liferay会话。我发现我们可以使用Liferay.session.extend()来扩展liferay会话。我在extend session of Liferay when performing AJAX call
发现了这一点但是我无法调用extend方法,在控制台中我得到错误Liferay.session没有定义。
会出现什么问题?
答案 0 :(得分: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) { ... });
创建一个沙箱,即对象的隔离区域)和模块性(它仅在需要时加载模块,因此{ {1}}是使用Alloy UI创建的一个这样的模块。
有关详细信息,您可以查看this blog和this document。
希望这有助于解决您的问题。