在提交AJAX请求时,我对服务器响应的处理感到困惑。我想做的是通过清除表并插入新表来更新表。
控制器的以下代码给出了ajax请求的共鸣,三元组是一个列表:
def resultsAjax = {
def triples = linkedDataService.getRemoteTriplesTable("Student4")
render(template:'tripleResultsTable', model:[triples:triples])
}
这是表格:
<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>
下表:
<g:render id="resultsAjax" template="tripleResultsTable" model="${triples}"/>
如何访问从服务器响应的列表?
修改
它的工作方式或多或少,但奇怪的是,表格没有更新,但新值是在表格的顶部......
模板就是这样:
<g:each in="${triples}" status="i" var="tripleProperty">
<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td>${tripleProperty.property}</td>
<td>${tripleProperty.value}</td>
</tr>
是否需要比render(template ..)更多的代码来替换表中的值?
答案 0 :(得分:1)
您的tripleResultsTable.gsp模板是什么样的?你可能看起来像这个
的模型属性<g:render id="resultsAjax" template="tripleResultsTable" model="${[triples:triples]}" />
然后在您的模板中,您可以使用
<g:each in="${triples}">...</g:each>
输出你想要的TR / TD元素
欢呼声
利