首先感谢大家的宝贵建议。我遇到了一个问题,就是在控制器上的grails远程函数调用中的jQuery ajax调用。
我项目中安装的插件是:jQueryUi - 1.10.3,jQuery - 1.11.0。
我的控制器这个方法:
def loadamount(){...}
对于ajax调用方法:
def ajaxCallBalance(long id){
def userBalances=loadamount(id)
def userBalance=userBalances[0] //it returns in array
return [usreBalance:userBalance]
}
这些只是我的数据库调用,用于在用户配置文件html页面内加载页面加载的a / c中加载用户数量。所以我用它:
第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:语法错误
<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()
要求这样的条件。如果是,那么我会做什么?答案 0 :(得分:1)
你不能直接在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}" />