0

实际上,我想使用 Ajax 在结果div 中添加两个选择框。我有一个名为ajaxFun的函数,用于检索这两个选择框的值。我正在尝试将多个对象呈现为 JSON。但我不知道如何呈现以及如何从我的 javascript 函数中检索呈现的对象。

我的普惠制页面。

<table>
<tr>
<td><div id="test" onclick="${remoteFunction(controller:'ProjectOperations', action:'ajaxFun', update:'results',onComplete:'getFields(e)',params:'\'filter=\' + escape(this.id)' )}">click me!</div></td>
</tr>
</table>
<div id="results"></div>

控制器类

import grails.converters.JSON

class ProjectOperationsController {

    def ajaxFun(){
                def project="Hill"
                def company="VK"
        def operation=Operation.findAllByProject_name(project)
        def staff=StaffDetails.findAllByCompany_name(company)

        render operation,staff as JSON//am not sure 
    }
}

在这里,我想呈现两个列表 [分别是操作和人员..]。然后我也想知道如何从 javascript 函数中检索渲染的对象。

Javascript函数

<g:javascript>
  function getFields(e){ 
// here I want to retrieve that two objects.
 } 
 </g:javascript>
4

1 回答 1

0

在控制器更改

    render operation,staff as JSON//am not sure 

    render [operation:operation,staff:staff] as JSON

然后在javascript中

 function getFields(e){
    var data = eval("("+e.responseText+")");
    console.log(data.staff);
    console.log(data.operation);
 }

在您的控制台中,您应该会看到人员的内容,然后是 findAll 中的操作内容,这些内容可能是您可以在 JavaScript 中使用的数组。

于 2012-09-20T12:17:07.850 回答