Ajax не работает в Grails - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть следующий код на моей странице 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 ]

1 голос
/ 22 февраля 2012

Возвращение false из обработчика кликов предотвратит действие браузера по умолчанию (вероятно, отправка формы):

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

        return false;
    });
});
0 голосов
/ 22 февраля 2012

Просто пришлось использовать

event.preventDefault () перед вызовом ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...