Griales: uso de javascript para mostrar resultados en la misma vista

Tengo dos dominios (modelos) Trabajo y Resultados. La página Trabajo que enumera los trabajos que se han ejecutado y la página Resultados enumera los resultados del trabajo.

Lo que quiero hacer es combinar estas dos páginas para que el usuario permanezca en una sola página.

Mi solución fue usar remoteFunction, y estoy cerca pero estoy atascado en recuperar los datos de Grails. El siguiente código llama a mi controlador (método doit) y devuelve una Groovy List:

...  
<g:render template="resulttable" />
<button id=show>show()</button>
<script type="text/javascript">
$("#show").click(function () {
  // Returns Groovy List
  var results = <g:remoteFunction action="doit" id="${idx}" update="showit"/>  
  $(".resulttable").show('slow');
});

No soy un genio con jQuery, entonces, ¿cómo proceso esta lista de resultados? He probado media docena de cosas diferentes y estoy perplejo. tengo un parcial tabla de resultados donde quiero mostrar los resultados. ¿O estoy en el jardín izquierdo con este enfoque?

preguntado el 03 de julio de 12 a las 23:07

1 Respuestas

No creo que necesariamente necesite usar jQuery directamente para hacer esto. Podrías configurar tu gsp de esta manera:

<g:remoteLink action="doit" id="${idx}" update="showit"><button>show()</button></g:remoteLink>
<div id="showit">
</div>

Y luego en su controlador usted doit acción:

def doit = {
    //find your list here
    def yourList = ...
    render(template: "resulttable", model: [listInTemplate: yourList])
}

Respondido 04 Jul 12, 05:07

No sé qué estaba haciendo mal, pero esto no me funcionó ayer. Abordé esto de nuevo y funcionó, ¡sí! - rtfminc

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.