2010-06-08 7 views
0

J'essaye de lister les adresses et l'événement onChange J'envoie l'identifiant d'adresse et renvoie une liste d'utilisateurs.Grails Remote Function et Ajax

<g:select name="AddressID" from="${address}" optionKey="id" optionValue="address" 
       onchange="${ remoteFunction(
          action:'testMe', 
          params:'\'id=\' + this.value' , 
          update:'show')}"> 
     </g:select> 

J'appelle ce div "show".

<div id="show"> 
    <g:each in="${users}" status="i" var="C"> 
     <h3>${C}</h3> 
    </g:each> 

</div> 

Cependant, lorsque je clique sur l'élément sur la liste, je reçois l'erreur suivante: description The requested resource (/MyTest/WEB-INF/grails-app/views/test/testMe.jsp) is not available.

Ma compréhension d'un attribut de mise à jour dans un remoteFunction est qu'il est le nom du div qui obtient actualisé après l'appel de remoteFunction est compeleted.

Merci.

Répondre

2

Je réorganiser votre code un peu pour obtenir le travail Ajax:

  1. Déplacez votre div contenu dans un modèle partiel, appelé, par exemple, _remoteResponse.gsp:

    <g:each in="${users}" status="i" var="C">
    <h3>${C}</h3>
    </g:each>

  2. Modifiez votre contrôle action ller testMe pour rendre la réponse à un modèle, quelque chose comme:

render (template:'remoteResponse', model:[users:['mike,tim']])

  • Assurez-vous que vous disposez d'une configuration de bibliothèque ajax en main.gsp, comme:

<g:javascript library="prototype" />