Ajax调用不能用于grails

时间:2012-02-22 15:27:32

标签: jquery grails

我的gsp页面中有以下代码

$j(document).ready(function() {
        $j("#searchButton").click(function(event){

           var form = $j('#federatedSearchForm');
           $j.ajax({
                       type:'POST',
                       url:'/tabulae/federatedSearch/ajaxGetSearchResults',
                       data:form.serialize(),
                       cache:false,
                       error:function(request,status,error) {
                           alert(status)
                       },
                       success:function(data,status,xhr) {
                           alert(data);
                         },
                       complete:function(xhr,status) {
                       }

               });

           });
   });

我的控制器中有以下代码

def ajaxGetSearchResults = {

   log.debug "params:" + params

   def returnResults = federatedSearchService.search(params)


   render returnResults as JSON

}

我看到的是在控制器完成请求之前。成功方法在客户端调用。有什么我做错了或不正确吗?

2 个答案:

答案 0 :(得分:1)

从您的点击处理程序返回false将阻止浏览器的默认操作(可能是表单提交):

$j(document).ready(function() {
    $j("#searchButton").click(function(event){
        ...

        return false;
    });
});

答案 1 :(得分:0)

只需使用

ajax调用之前的

event.preventDefault()