Grails:AJAX onSuccess方法没有触发

时间:2012-07-28 14:00:32

标签: javascript jquery ajax grails groovy

我正在使用带有grails remoteFunction标记的jquery库,以便在鼠标悬停时进行AJAX调用。从我写的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
    }

}

1 个答案:

答案 0 :(得分:1)

尝试在控制器中使用 render 方法:

render ([hasHearted: true] as JSON)