Начиная с g: функция remoteFunction в Grails 2.4.X является устаревшим, что я должен использовать вместо этого?
Поскольку g: remoteFunction устарела, что я должен использовать вместо этого? И пожалуйста, приведите пример.
2 ответа:
Вы должны использовать свои собственные функции 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 захватывает все элементы формы и сериализует их для вас как парамы, которые будут переданы обратно.