访问AJAX响应并使用新值更新表
在提交AJAX请求时,我对服务器响应的处理感到困惑。我想做的是通过清除表并插入新表来更新表 控制器的以下代码给出了对ajax请求的响应,triples是一个列表:访问AJAX响应并使用新值更新表,ajax,grails,Ajax,Grails,在提交AJAX请求时,我对服务器响应的处理感到困惑。我想做的是通过清除表并插入新表来更新表 控制器的以下代码给出了对ajax请求的响应,triples是一个列表: def resultsAjax = { def triples = linkedDataService.getRemoteTriplesTable("Student4") render(template:'tripleResultsTable', model:[triples:triples]) } 表格如下: &l
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>
资源ID
以及下表:
<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>
${tripleProperty.property}
${tripleProperty.value}
是否需要比render(template..)更多的代码来替换表中的值?您的tripleResultsTable.gsp模板看起来像什么?您可能需要将模型属性设置为如下所示
<g:render id="resultsAjax" template="tripleResultsTable" model="${[triples:triples]}" />
然后在模板中可以使用
<g:each in="${triples}">...</g:each>
。。。
要输出所需的TR/TD元素
干杯
Lee您的tripleResultsTable.gsp模板是什么样的?您可能需要将模型属性设置为如下所示
<g:render id="resultsAjax" template="tripleResultsTable" model="${[triples:triples]}" />
然后在模板中可以使用
<g:each in="${triples}">...</g:each>
。。。
要输出所需的TR/TD元素
干杯
背风