我使用带有grails remoteFunction标签的jquery库,以在发生鼠标悬停时进行AJAX调用。从我写的println中,我知道正在调用指定的 Action ,但是永远不会触发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
}
}
最佳答案
尝试在 Controller 中使用render方法:
render ([hasHearted: true] as JSON)