将数据从.gsp发送到控制器

时间:2016-06-04 04:45:48

标签: javascript ajax grails controller gsp

我需要使用js或ajax将.gsp页面中输入的数据发送到控制器。我在gsp页面中的代码是

 <input placeholder="<g:message code="form.search.label"/>" id="q" name="q" type="text" onkeypress=validar(event);>
 <button class="button"><span class="mif-search"></span></button>

js功能是:

 <script type="text/javascript">
function validar(event){
    var theCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    var message = $('#q').val();
    if (theCode == 13){           

        <g:remoteFunction controller="search" action="search" params="message" update="pageid"/>          
}
}

这段代码工作正常,我刷新了我的页面,但我需要将输入文本中的数据发送到我的控制器。我在网上冲浪,但我无法解决这个问题。我需要做什么呢?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我强烈建议您使用jQuery.ajax();代替g:remoteFunction,因为在一天结束时。它将g:remoteFuncion呈现给jQuery.ajax();。例如,你有这个:

<g:remoteFunction controller="search" action="search" params="message" update="pageid"/>

这将是:

jQuery.ajax({type:'POST', url:'/YOURGRAILSAPPNAME/search/search',success:function(data,textStatus){jQuery('#pageid').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}});

您可以测试在网页中查找HTML。

但是如果你真的想使用g:remoteFunction。你可以用这个

var message = $('#q').val();
if (theCode == 13)
    <g:remoteFunction controller="search" action="search" params="'message='+message" update="pageid"/>