我一直在寻找一种解决方案,当我在我的页面上进行 AJAX 调用时,我可以使用它来扩展 liferay 会话。我发现我们可以使用 Liferay.session.extend() 来扩展 liferay 会话。这是我在执行 AJAX 调用时在 Liferay 的扩展会话中发现的
但我无法调用扩展方法,在控制台中我收到错误 Liferay.session 未定义。
会有什么问题?
我一直在寻找一种解决方案,当我在我的页面上进行 AJAX 调用时,我可以使用它来扩展 liferay 会话。我发现我们可以使用 Liferay.session.extend() 来扩展 liferay 会话。这是我在执行 AJAX 调用时在 Liferay 的扩展会话中发现的
但我无法调用扩展方法,在控制台中我收到错误 Liferay.session 未定义。
会有什么问题?
如果您在 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 创建的此类模块)的概念。
希望这将有助于解决您的问题。