Javascript ajax({type:&;39;POST&;39;在grails中)

Javascript ajax({type:&;39;POST&;39;在grails中),javascript,jquery,ajax,grails,Javascript,Jquery,Ajax,Grails,首先感谢大家提出的宝贵建议。我遇到了一个问题,那就是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]

首先感谢大家提出的宝贵建议。我遇到了一个问题,那就是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]
}
这些都是我的数据库调用,用于在其a/c中加载用户金额,应在用户配置文件html页面内的页面加载。因此,我使用以下方法:

第677点:

<g:if test="${session.LogedUser}">
<script>
    ${remoteFunction(
        controller:'user',
        action:'ajaxCallBalance',
        update:[success:'uresult',failure:'uresult'],
        id:session.LogedUser.id
    )}
</script>

${remoteFunction(
控制器:'用户',
操作:'ajaxCallBalance',
更新:[成功:'uresult',失败:'uresult'],
id:session.LogedUser.id
)}
在HTML中:

<li id="uresult"><!-- Want to see hare what result either value or error it returns --></li>
  • 在firebug控制台中,我看到以下错误:

    语法错误:语法错误

    
    jQuery.ajax({
    类型:';岗位';,
    url:';/…/…../ajaxCallBalance/10000000';,
    成功:函数(data,textStatus){jQuery(';#uresult';).html(data);},
    错误:函数(XMLHttpRequest、textStatus、errorshown)
    jQuery(';#uresult';).html(XMLHttpRequest.responseText);
    }
    });
    
    [注意:这是由grails ajax插件生成的,我写的是参见第677点。]

    我的问题是:

  • 为什么这个
    $#39;
    即使我没有空格,也没有任何符号出现。这是一个bug还是我的错误
  • 有没有办法处理这种情况,比如用户
    onLoad/(document).ready()
    调用这样的条件。如果有,我会怎么做

  • 您不能直接在js中使用grails构造的
    ${remoteFunction…}

    $.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}" />
    
    $('mydiv')。onclick=
    
    请复制您得到的完整错误,这一行还需要更多内容……也发布您的jQuery ajax函数。谢谢emilan,它可以工作。还有一点我想提到的是,提到的ajax必须使用,对于dataCheck值,我们必须从控制器方法提供,该方法也应该呈现而不是返回。
    $('mydiv').onclick = <g:remoteFunction action="ajaxCallBalance" controller="user" id="${id}" />