Javascript Grails:AJAX onSuccess方法未触发

Javascript Grails:AJAX onSuccess方法未触发,javascript,jquery,ajax,grails,groovy,Javascript,Jquery,Ajax,Grails,Groovy,我使用带有grails remoteFunction标记的jquery库在鼠标悬停时进行AJAX调用。从我编写的println中,我知道指定的操作正在被调用,但onSuccess函数从未被触发。我检查了firebug,收到了404错误。一般来说,我对AJAX和JS都是新手,所以我现在可能忽略了一些非常明显的东西。这是我的代码片段 普惠制: 尝试在控制器中使用渲染方法: render ([hasHearted: true] as JSON) 我要做的第一件事是使用Firebug之类的工具来确保h

我使用带有grails remoteFunction标记的jquery库在鼠标悬停时进行AJAX调用。从我编写的println中,我知道指定的操作正在被调用,但onSuccess函数从未被触发。我检查了firebug,收到了404错误。一般来说,我对AJAX和JS都是新手,所以我现在可能忽略了一些非常明显的东西。这是我的代码片段

普惠制:

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

render ([hasHearted: true] as JSON)

我要做的第一件事是使用Firebug之类的工具来确保hasHearted操作正确返回。如果未调用onSuccess,则可能是它未成功,即使它已成功连接到服务器。你必须核实往返行程。不仅仅是一种方法。你真的应该把脚本和HTML分开。谢谢,firebug是个好主意。我收到一个404错误。你知道会发生什么吗?404?首先要看的是您的控制器名和操作名,否则Grails“假定”您仍然希望呈现视图(GSP),这是默认行为
<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
    }

}
render ([hasHearted: true] as JSON)