【发布时间】:2014-08-11 14:27:23
【问题描述】:
由于 g:remoteFunction 已被弃用,我应该改用什么?请举个例子。
【问题讨论】:
标签: grails
由于 g:remoteFunction 已被弃用,我应该改用什么?请举个例子。
【问题讨论】:
标签: grails
您应该使用自己的 javascript AJAX 函数,因为它们提供了更大的灵活性
示例
曾经是:
<input type="button" value="go!" onclick="${g.remoteFunction( controller:'my', action:'go', params:[..] )}"/>
应该是(例如JQuery):
<g:javascript>
function go(){
$.ajax({
url:'${g.createLink( controller:'my', action:'go', params:[..] )}',
data:{ param1:param1 }
});
}
</g:javascript>
<input type="button" value="go!" onclick="go()"/>
【讨论】:
只是为了详细说明 Injecteers 的回答实际上是数据:{} 是向其发布信息的内容,因此可能与参数冲突:[..]}:
<g:javascript>
function go(){
var javaScriptVariable='123'
$.ajax({
url:'${g.createLink( controller:'my', action:'go')}',
data:{
param1: "${params.params1}",
param2: javascriptVariable
}
});
}
</g:javascript>
data:{} 也可以是data: $('form').serialize();,其中 serialize 函数获取所有表单元素并将其序列化为您传递回的参数。
【讨论】: