Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将值从grails传递回javascript函数?_Javascript_Grails_Groovy - Fatal编程技术网

如何将值从grails传递回javascript函数?

如何将值从grails传递回javascript函数?,javascript,grails,groovy,Javascript,Grails,Groovy,我有一种感觉,这个问题的答案很简单,但我似乎还不能得到它 我有一个Javascript函数,它通过remoteFunction调用Groovy类中的操作。现在,我需要将action类中的值返回给Javascript函数进行进一步处理。它看起来像这样: // sample js function in the gsp file function setPrev() { ... var tmp = $remoteFunction(action: 'someaction', params:

我有一种感觉,这个问题的答案很简单,但我似乎还不能得到它

我有一个Javascript函数,它通过remoteFunction调用Groovy类中的操作。现在,我需要将action类中的值返回给Javascript函数进行进一步处理。它看起来像这样:

// sample js function in the gsp file
function setPrev() {
   ...
   var tmp = $remoteFunction(action: 'someaction', params: ...)
   ...
}
def someaction = {
   ...
   def retVal = Somedomain.anobject // 1:m relationship so there's a hasMany = [anobject...] in Somedomain
   ...
   return retVal
}
在控制器中,操作将如下所示:

// sample js function in the gsp file
function setPrev() {
   ...
   var tmp = $remoteFunction(action: 'someaction', params: ...)
   ...
}
def someaction = {
   ...
   def retVal = Somedomain.anobject // 1:m relationship so there's a hasMany = [anobject...] in Somedomain
   ...
   return retVal
}
现在,当它返回tmp时,它是[object]。有没有办法让我至少把[anobject1,anobject2,…,anobjectn]作为tmp的值?我甚至尝试过json,但它仍然是[object]

 return retVal as JSON
只要记住导入org.grails.converters.JSON(我想是的)

这很容易

 return retVal as JSON

请记住导入org.grails.converters.JSON(我想是的)

嗨,是的,我这样做了,但是当我打印出tmp时,它是[object]。。。不是json表示…嗨,这更像是一个javascript问题。。如果您在FireFox中使用FireBug(您应该这么做!),请尝试在javascript代码中编写console.debug(tmp)。要获取数据,您应该编写tmp.variableName.Thank以获得响应:)实际上,我一直在通过Firebug查看DOM,但我也有点迷茫。无论如何,至于tmp.variableName,这有点棘手,我认为。。。我似乎搞不懂变量名是什么。当我在groovy中打印出类类型时,retVal的类型是PersistentSet。。。在本例中,它应该看起来像[object1:1,object2:2,…],那么我应该将其引用为tmp.object1吗?当我这样做时,它告诉我它是“未定义的”,但当我看retVal时,它确实有[object1:1,object2:2,…]作为内容…在firebug中,你也可以尝试console.dir(tmp)-这将打印jsonhi的结构和变量,是的,我这样做了,但当我打印出tmp时,它是[object]。。。不是json表示…嗨,这更像是一个javascript问题。。如果您在FireFox中使用FireBug(您应该这么做!),请尝试在javascript代码中编写console.debug(tmp)。要获取数据,您应该编写tmp.variableName.Thank以获得响应:)实际上,我一直在通过Firebug查看DOM,但我也有点迷茫。无论如何,至于tmp.variableName,这有点棘手,我认为。。。我似乎搞不懂变量名是什么。当我在groovy中打印出类类型时,retVal的类型是PersistentSet。。。在本例中,它应该看起来像[object1:1,object2:2,…],那么我应该将其引用为tmp.object1吗?当我这样做时,它告诉我它是“未定义的”,但当我看retVal时,它确实有[object1:1,object2:2,…]作为内容…在firebug中,您也可以尝试console.dir(tmp)-这将打印json的结构和变量