Foros de discusión

Creare un renderURL da JS

thumbnail
Marco Azzalini, modificado hace 6 años.

Creare un renderURL da JS

Regular Member Mensajes: 146 Fecha de incorporación: 18/11/14 Mensajes recientes
Ciao a tutti, ho uno strano problema con la generazione di un render URL da Javascript.
Quello che devo fare è generare in modo dinamico lo stesso url che viene prodotto dal solito tag liferay-portlet:renderURL e che mi funziona perfettamente, ovvero questo:
<liferay-portlet:renderurl var="filteredResultsURL" windowstate="<%=LiferayWindowState.EXCLUSIVE.toString() %>">
				<liferay-portlet:param name="mvcPath" value="/html/configure/filtered_results.jsp" />
		</liferay-portlet:renderurl>


Siccome vorrei aggiornare un div in pagina con i risultati della ricerca, tramite una funzioncina JS genero lo stesso URL (tramite la chiamata Liferay.PortletURL.createRenderURL) e poi leggo il risultato dell'invocazione tramite l'oggetto AUI.io.request ma mi sono accorto che non funziona emoticon perché vedo che mi genera sempre degli url di questo tipo, che sono chiaramente sbagliati:
 /it/c/portal/layout?p_p_id=2_WAR_nosdocumentwidgetportlet&amp;p_p_lifecycle=0...


che ovviamente non mi danno nessun risultato, anziché come quello generato dal tag che invece è:

http://localhost:8083/it/web/guest/20?p_p_id=2_WAR_NOSDocumentwidgetportlet…

qualcuno sa dirmi dove sto sbagliando??

Di seguito trovate la mia funzione completa:
Liferay.provide(
	window,
	'<portlet:namespace />doSearch',
	function() {
		var A = AUI();
		var titolo = A.one('#<portlet:namespace />&lt;%=WebKeys.DOC_TITLE %&gt;').attr('value');
		var codice = A.one('#<portlet:namespace />&lt;%=WebKeys.DOC_CODE %&gt;').attr('value');
		
		var url = Liferay.PortletURL.createRenderURL();
		url.setPortletId('&lt;%=PortletKeys.CONFIGURE_WIDGET %&gt;');
		url.setWindowState('&lt;%=LiferayWindowState.EXCLUSIVE.toString() %&gt;');
		url.setParameter('<portlet:namespace />mvcPath', '/html/configure/filtered_results.jsp');
		url.setParameter('&lt;%= WebKeys.DOC_TITLE%&gt;', titolo);
		url.setParameter('&lt;%= WebKeys.DOC_CODE%&gt;', codice);
		
		AUI().one('#searchResultsDiv').html('<div class="loading-animation"></div>');
		
		A.io.request(
			url.toString(),
			{
				dataType: 'text/html',
				on: {
					failure: function() {
					  alert("ERRORE !!!")
					},
					
					success: function(event, id, obj) {
					  var instance = this;
					  var message = instance.get('responseData');
					  AUI().one('#searchResultsDiv').html(message);
					}
				}
			}
		); //END of io Request
	},
	['aui-io', 'liferay-util-window', 'aui-base', 'liferay-portlet-url']
);  //End of doSearch


ciao e grazie in aticipo a tutti
Marco