我在我的项目中使用 grails 1.3.4,一切正常,直到我决定将我的项目迁移到 grails 2.0.3。
对于我通过 javascript 通过 gsp 页面进行的每个 AJAX 调用,呈现为 JSON 方法对我来说都很好。但现在它不起作用。我用于通话的代码是:
我的 GSP 页面中的 Javascript:
var url = "${createLink(controller:'user',action:'someAction')}";
$.get(url,function(data){
if (data.results != "") {
alert(data.results);
}
});
我的控制器中的代码:
import grails.converters.JSON
....
....
def someAction = {
def data = [results:"Ajax call working"]
render data as JSON
}
上面的代码在 grails 1.3.4 中非常适合我,但现在我收到以下错误
No signature of method: grails.converters.JSON.render() is applicable
for argument types: (com.xxxx.yyy.UserController$_closure36)
values: [com.xxxx.yyy.UserController$_closure36@168d2e7]
Possible solutions: render(java.io.Writer),
render(javax.servlet.http.HttpServletResponse),
every(), find(), find(groovy.lang.Closure),
every(groovy.lang.Closure).
我真的被困住了,不知道该怎么办。有什么我想念的吗。
我也在使用 Groovy 版本:1.8.6 和 JVM:1.6.0_26