Grails 中AJAX的使用

AJAX是一种很好的技术,Grails中的使用需要GSP、控制器两方面的配合:

首先,在GSP中设置一个区域,用于显示——关键是设置ID。比如:

<div id="systemMenuEditDiv">
</div>

然后,GSP中要设置

<g:remoteLink action="createSystemMenu"
update="[success:'systemMenuEditDiv', failure:'error']"
on404="alert('not found')"
class="create">新建根节点</g:remoteLink>

通过remoteLink调用控制器中的方法。

控制器中的函数,关键是返回控制。

if (request.xhr) {
  render(template: "createMenuItem", model: model)
} else {
  model
}

如上所示,如果是AJAX调用,采用render返回,参数就是一个模板,应该该模板,刷新GSP中指定的DIV。

 

或者,在GSP中,指定JS事件:

<a id="createLeafMenu" class="create" href="#" οnclick="remoteCreate()">新建子节点</a>

通过JS调用AJAX

function remoteCreate() {
  currentNode = systemMenuTree.tree('getSelected');
    $.ajax({
      type: 'POST',
      url: 'createSystemMenu',
      data: {upMenuItem: currentNode.id},
      success: function (data, textStatus) {
        $('#systemMenuEditDiv').html(data);
      },
      error: function (xhr, textStatus, errorThrown) {
        console.log('出错了' + currentNode.id + xhr);
      }
    });
}

这种方式下,JS函数直接刷新所需要的DIV。刷新的内容由data参数控制。

转载于:https://www.cnblogs.com/hopefulstone/p/4278574.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值