2017-06-20 2 views
0

Je rencontre des problèmes lors de la configuration d'un appel ajax dans Liferay. Dans mon View.jsp, je:Liferay ajax charge la mauvaise vue

<portlet:actionURL name="action" var="action" /> 

AUI().ready(function(A) { 
    A.use('.button').on('click',function(){ 
     A.io.request('${action}', { 
       method: 'POST', 
       data: { 
       key1: 'value' 
       }, 
       on: { 
        success: function() { 
         debugger; 
        alert(this.get('responseData')); 
        } 
       } 
      }); 
    }); 
}); 

et dans mon Portlet.java, j'ai:

public void action(ActionRequest actionRequest, ActionResponse actionResponse) 
     throws IOException, PortletException { 
     System.out.println("hello world"); 
} 

Le résultat est qu'un appel ajax est fait, et il frappe mon action , mais alors son procédé pour frapper le view.jsp que je suis actuellement sur. Existe-t-il un moyen de dire à liferay de frapper un fichier jsp différent?

Répondre

1

Il semble que je devais utiliser serveResource au lieu d'une action, car les actions semblent toujours rendre la page.

Liferay ajax request and JSON response

+0

[** répondre à http demande avec l'objet JSON dans portlet **] (https://stackoverflow.com/questions/17592144/respond-to-http-request-with-json-object- in-portlet) –