0

私は自分のプロジェクトに grails 1.3.4 を使用していましたが、プロジェクトを grails 2.0.3 に移行することを決定するまで、すべてが正常に機能していました。

javascriptを介してgspページを介して私が行ったすべてのAJAX呼び出しに対して、Render as 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 を使用しています。

4

1 に答える 1

4

代わりに次のパターンを試してください。

def someAction = {
    def data = [results:"Ajax call working"]

    render(contentType:'text/json'){
       data
    }
}
于 2012-06-17T12:54:09.687 に答える