【问题标题】:Since g:remoteFunction in Grails 2.4.X is deprecated what should i use instead?由于 Grails 2.4.X 中的 g:remoteFunction 已被弃用,我应该改用什么?
【发布时间】:2014-08-11 14:27:23
【问题描述】:

由于 g:remoteFunction 已被弃用,我应该改用什么?请举个例子。

【问题讨论】:

    标签: grails


    【解决方案1】:

    您应该使用自己的 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()"/>
    

    【讨论】:

    • 请举个例子
    【解决方案2】:

    只是为了详细说明 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 函数获取所有表单元素并将其序列化为您传递回的参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      相关资源
      最近更新 更多