2012-12-31 6 views
0

Je cherchais une solution permettant d'étendre la session liferay lorsque je fais des appels AJAX sur ma page. J'ai découvert que nous pouvons utiliser Liferay.session.extend() pour prolonger la session liferay. Cela je l'ai découvert à extend session of Liferay when performing AJAX callImpossible d'étendre la session liferay par programme

Mais je ne suis pas en mesure d'appeler la méthode d'extension, dans la console, je reçois l'erreur Liferay.session n'est pas définie.

Quel serait le problème?

+0

Espérons que vous avez écrit l'appel 'Liferay.session.extend()' dans cette balise de script ' ...'. –

+0

Je l'ai appelé dans une fonction que j'ai écrite dans un fichier JS –

Répondre

1

Si vous faites l'appel dans une JSP que vous pouvez faire l'appel dans la balise <aui:script> comme ceci:

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

Ou

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

Ou si vous utilisez un fichier javascript séparé (*.js) alors je pense que ce qui suit devrait fonctionner:

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

Ou

function myCustomSessionExtend() { 

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

} 

A partir de Liferay 6.0 utilise l'interface utilisateur Liferay partir Alloy comme il JavaScript par défaut bibliothèque. UI alliage a une notion de sandboxing (le AUI().use (function(A) { ... }); crée un bac à sable à-dire une zone isolée pour objet) et modularité (il charge des modules uniquement lorsque cela est nécessaire, de sorte que liferay-session est un tel module créé en utilisant l'interface utilisateur en alliage). Pour plus d'informations, vous pouvez consulter this blog et this document.

Espérons que cela aidera à résoudre votre problème.

+0

J'ai essayé votre solution pour le fichier javascript séparé (* .js), mais malheureusement, cela n'a pas fonctionné. Quelle pourrait être la raison? Je reçois la même erreur - Liferay.Session non déclarée –

Questions connexes