0

マウスオーバーが発生した場合にAJAX呼び出しを行うために、grailsのremoteFunctionタグとともにjqueryライブラリを使用しています。私が書いたprintlnから、指定されたアクションが呼び出されていることはわかっていますが、onSuccess関数がトリガーされることはありません。Firebugをチェックしましたが、404エラーが発生します。私は一般的にAJAXとJSに慣れていないので、今は非常に明白なことを見落としているかもしれません。これが私のコードスニペットです。

gsp:

<script type="text/javascript">

function change()
{

document.getElementById('changer').src='${resource(dir: "images/images", file: "heart_red.png")}';
}

function onSuccess(data){

    alert("Has hearted:");

}

<img class="user_profile_pic" src="${user.profilePicture}" onmouseover="${remoteFunction(controller:'user', action: 'hasHearted', onSuccess: 'onSuccess(data)', params:[userID: user.id])}"/>

グルーヴィー:

    def hasHearted = {
    println "Recieved user ID: $params.userID" 
    if(some condition...){
        [hasHearted: true] as JSON
    }
    else{
        [hasHearted: false] as JSON
    }

}
4

1 に答える 1

1

コントローラでrenderメソッドを使用してみてください。

render ([hasHearted: true] as JSON)
于 2012-07-28T18:57:50.573 に答える