实际上我想使用Ajax在结果 div中添加两个选择框。我有一个名为 ajaxFun 的函数,用于检索该两个选择框的值。我试图将多个对象渲染为JSON。但我不知道如何渲染以及如何从我的javascript函数中检索渲染对象。
我的GSP页面。
<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>
答案 0 :(得分: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中使用的数组。