Duvida submitToRemote
03/07/2014 00:43
1
Bom, estou com uma dúvida, que deve ser algo simples, mas estou deixando escapar.

Estou desenvolvendo um aplicação que utiliza a API do Google Maps, tenho uma função que pega os pontos do banco de dados e plota no mapa. Tudo funcionando.

A questão é quando eu quero filtrar quais pontos vão aparecer no mapa, por características.

Utilizando o submitToRemote, consigo enviar os params pro controller, pra fazer a filtragem, e retorna um JSON.

A dúvida é, como pegar esse JSON pra usar na outra função javascript?

Procurei no stackoverflow, e achei isso: http://stackoverflow.com/questions/11100432/is-it-possible-to-render-json-data-into-a-javascript-variable-while-making-an-aj que linka pra isso: http://blogs.bytecode.com.au/glen/2008/12/06/a-cute-tinyurl-codec.html

Mas nem usando "e" nem "data", funciona.

Alguma sugestão? Estou fazendo algo muito errado?

(Pelo firebug, quando o botão é clicado vejo que ele retorna um JSON corretamente)
Tags: json, jquery, submitToRemote


0
Oi Rodrigo,

neste caso você tem de definir qual a função JavaScript que irá receber o valor de retorno da sua submissão. Você faz isto usando o atributo onSuccess. Nele você deve passar apenas o nome da função (que deve ter um parametro que corresponderá ao valor retornado pelo seu servidor).

Uma dica: estas tags de Ajax do Grails estão todas sendo consideradas deprecated a partir da versão 2.4 do framework. Então é muito mais negócio já ir se preparando usando algo como jQuery mesmo para fazer estas solicitações Ajax.

Sinceramente, não acredito que estas tags irão desaparecer. Eu apostaria que elas irão simplesmente ser transformadas em plugin. Mas seguro morreu de velho, e a opção jQuery não é ruim. :)


0
Então Kico, eu vi que algumas tags estão "deprecated", mas a "submitToRemote" não tem o aviso na documentação, então achei que essa ainda fosse permanecer.

De qualquer modo, possui alguma indicação de bibliografia pra estudar ajax em jQuery?

Tentei colocar o onSucess, mas não chamava a função, nem o onFailure. Achei que tivesse chamando de algum jeito errado, mas quando uso o "after", ele chama a função. Mas acho que no after ele não deva passar o parametro.

Mas pelo visto o melhor é usar o jQuery mesmo, vou procurar como proceder dessa maneira.


0
Oi Rodrigo,

Enviei uma mensagem para a equipe de desenvolvimento (https://groups.google.com/forum/#!topic/grails-dev-discuss/4yesijtFSB4) perguntando qual o futuro destas tags. Não é tão terrível quanto aparenta: elas serão movidas para um plugin. Então no futuro, ao menos em teoria, bastaria que você usasse este plugin no seu projeto para não quebrar suas páginas.

Sobre jQuery, a melhor bibliografia que conheço é a própria documentação oficial. Há uma seção chamada "Ajax" que mostra as principais funções. Como recomendação de leitura, apesar de já estar um pouco desatualizado, recomendo demais a leitura do livro "jQuery, from Novice to Ninja" (http://www.sitepoint.com/store/jquery-novice-to-ninja-new-kicks-and-tricks/). Alguns anos atrás eles distribuiram este livro de graça em uma promoção, e foi assim que tomei conhecimento dele.

É um livro leve, fácil de ler e bastante abrangente. Vai te mostrar desde o mais básico com consultas, passando pelo ajax e animações. Muito bacana.


1
Kico, consegui fazendo uso do Jquery, mas vou ler esse livro.

Falando em livro, tu deu uma entrevista pra um cara da comunidade Python sobre Groovy e Grails, certo?

Li errado, ou tu tá escrevendo um livro sobre isso?

Se estiver, certamente comprarei.

Abraço


0
Oi Rodrigo,

leu com precisão! É o que tem ocupado todas as minhas noites por algum tempo.

Valeu pelo apoio! :)

Neste momento estou acabando o maior dos capítulos do livro que é sobre o GORM. Vou mostrar tanto a parte bonita quanto algumas "armadilhas" do Grails também. :)



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto