我一直在尋找一種解決方案,當我在頁面上執行AJAX調用時,我可以使用該解決方案來延長liferay會話。我發現我們可以使用Liferay.session.extend()來延長liferay會話。我發現在extend session of Liferay when performing AJAX call無法以編程方式延長liferay會話
但我不能調用擴展方法,在控制檯我得到的錯誤Liferay.session沒有定義。
會出現什麼問題?
我一直在尋找一種解決方案,當我在頁面上執行AJAX調用時,我可以使用該解決方案來延長liferay會話。我發現我們可以使用Liferay.session.extend()來延長liferay會話。我發現在extend session of Liferay when performing AJAX call無法以編程方式延長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的使用合金UI,因爲默認的JavaScript庫。 合金UI具有沙箱一個概念(在AUI().use (function(A) { ... });
創建一個沙箱即,對於對象的一隔離區)和模塊化(僅在需要時加載模塊,因此liferay-session
是使用合金UI創建的一個這樣的模塊)。
欲瞭解更多信息,您可以查看this blog和this document。
希望這將有助於解決您的問題。
我試過你的解決方案,單獨的JavaScript文件(* .js),但不幸的是它沒有工作。可能是什麼原因?我遇到了同樣的錯誤 - Liferay.Session沒有聲明 –
希望你在這個腳本標籤中寫了'Liferay.session.extend()'調用標籤' ...'。 –
我把它叫做一個我寫在JS文件中的函數 –