Je suis confus avec le traitement de la réponse du serveur, lors de la soumission d'une requête AJAX. Ce que je voudrais faire, c'est une mise à jour d'une table en l'effaçant et en insérant les nouvelles.Accéder à la réponse AJAX et mettre à jour la table avec de nouvelles valeurs
Le code suivant du contrôleur donne un resonse à une demande ajax, triplets est une liste:
def resultsAjax = {
def triples = linkedDataService.getRemoteTriplesTable("Student4")
render(template:'tripleResultsTable', model:[triples:triples])
}
C'est la forme:
<g:form action="results">
<label for="id">Resource ID </label>
<g:textField name="id" />
<g:submitToRemote value="search" update="resultsAjax"
url="[controller:'tripleProperty', action:'resultsAjax']"/>
</g:form>
Le tableau ci-dessous:
<g:render id="resultsAjax" template="tripleResultsTable" model="${triples}"/>
Comment puis-je accéder à la liste des réponses du serveur?
EDIT:
Il fonctionne plus ou moins, mais chose étrange est que la table est pas mis à jour, mais les nouvelles valeurs sont au-dessus de la table ...
Le modèle est ceci:
<g:each in="${triples}" status="i" var="tripleProperty">
<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td>${tripleProperty.property}</td>
<td>${tripleProperty.value}</td>
</tr>
A-t-il besoin de plus de code que render (template ..) pour remplacer les valeurs de la table?