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="#" onclick="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参数控制。

时间: 2024-11-29 07:02:17

Grails 中AJAX的使用的相关文章

Grails中使用Ajax

grails中很好的集成了Ajax,这里介绍利用Jquery的 getJSON方法进行Ajax异步传输. 使用步骤: 引入Jquery(.gsp 页面中引入 jquery.js) <script type="text/javascript" src="${resource(dir: 'assets/js', file: 'jquery.js')}"></script> Javascript 脚本中添加Ajax调用方法 function isP

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jq中ajax的使用

jq中ajax必须在服务器环境下使用 $.ajax({ url:"json.json", //请求的url地址 dataType:"json", //返回格式为json type:"GET", //请求方式 beforeSend:function(){ $('#div3').html('加载中...') }, success:function(data,status){//第一个参数包含获取的内容,第二个参数为执行的状态 var tt="

jQuery中$.ajax()详解(转)

JQuery中$.ajax()方法参数详解     url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有

jQuery中ajax的4种常用请求方式

jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息.详细参数选项见下. 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml"). 实例: 保存数据到服务器,成功时显示信息. $.ajax({ type: "post", dataType: "

浅析Asp.net MVC 中Ajax的使用

在ASP.NET MVC beta中我们可以使用Ajax.BeginForm, Ajax.ActionLink来进行Ajax调用,同样我们也可以使用一些支持Ajax 框架如jQuery来简化对ajax的调用. 一.使用System.Web.Mvc.Ajax 1.1 System.Web.Mvc.Ajax.BeginForm 1.2 System.Web.Mvc.Ajax.ActionLink 二.手工打造自己的"非介入式"Javascript" 一.使用System.Web.

通过Jquery中Ajax获取json文件数据

1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : 名称/值对. 例如: "Student":"Tom" Json值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true或者false) 数组(在方括号中) 对象(在花括号中) null  例如(对象):{"name":"to

LigerUi-js中ajax前台调用后台Json格式转换!(已解决)

LigerUi-js中ajax前台调用后台Json格式转换!(已解决) success: function (data, status) { var aaa = JSON2.stringify(data); alert(aaa ); } LigerUi-js中ajax前台调用后台Json格式转换!(已解决),布布扣,bubuko.com

php中ajax跨域请求---小记

php中ajax跨域请求---小记 前端时间,遇到的一个问题,情况大约是这样: 原来的写法: 前端js文件中: $.ajax({ type:'get', url:'http://wan.xxx.com/xxx.js', success:function(data){ ......... } }) 很简单的一个ajax请求:后面在做迁移的时候,由于系统目录的安排,js文件放到了,img.xxx.com域名下,这样就设计到了跨域问题,于是就改成了这样: $.ajax({ type:'get', ur