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参数控制。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。