提交AJAX请求时,我对服务器响应的处理感到困惑。我想做的是通过清除表并插入新表来更新表。
Controller 的以下代码响应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 ..)更多的代码来替换表中的值吗?
最佳答案
您的TripleResultsTable.gsp模板是什么样的?您可能将模型属性看起来像这样
<g:render id="resultsAjax" template="tripleResultsTable" model="${[triples:triples]}" />
然后,您可以在模板中使用
<g:each in="${triples}">...</g:each>
输出您想要的TR / TD元素
干杯
背风处
关于ajax - 访问AJAX响应并使用新值更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131980/