首先感谢大家的宝贵建议。我遇到了一个问题,就是 Controller 上grails远程函数调用中的jQuery ajax调用。
在我的项目中安装的插件为:jQueryUi-1.10.3,jQuery-1.11.0。
我的 Controller 这种方法:
def loadamount(){...}
对于ajax调用方法:def ajaxCallBalance(long id){
def userBalances=loadamount(id)
def userBalance=userBalances[0] //it returns in array
return [usreBalance:userBalance]
}
这些不过是我的数据库调用,用于将用户数量加载到他的帐户中,而该用户帐户应该在用户配置文件html页面中的页面加载时加载。所以为此,我用这个:点677:
<g:if test="${session.LogedUser}">
<script>
${remoteFunction(
controller:'user',
action:'ajaxCallBalance',
update:[success:'uresult',failure:'uresult'],
id:session.LogedUser.id
)}
</script>
在HTML中:<li id="uresult"><!-- Want to see hare what result either value or error it returns --></li>
在Firebug控制台中,我看到此错误:SyntaxError: syntax error
<script>
jQuery.ajax({
type:'POST',
url:'/...../..../ajaxCallBalance/10000000',
success:function(data,textStatus) {jQuery('#uresult').html(data);},
error:function(XMLHttpRequest,textStatus,errorThrown)
jQuery('#uresult').html(XMLHttpRequest.responseText);
}
});
</script>
[注意:这是由grails ajax插件生成的,我写的是见第677点。]这是我的问题:
$#39;
。是错误还是我的错误? onLoad/(document).ready()
调用了这种情况。如果是,那我该怎么办? 最佳答案
您不能直接在js中使用${remoteFunction...}
的grails构造。使用ajax:
$.ajax({
type: 'POST',
url: "${createLink(action:'ajaxCallBalance', controller:'user')}",
data: { id: id },
success: function (dataCheck) {
//Do stuff
}
........
});
或像这样使用g:remoteFunction
$('mydiv').onclick = <g:remoteFunction action="ajaxCallBalance" controller="user" id="${id}" />
关于javascript - jQuery.ajax({type:'POST'in grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21546626/