Ir para conteúdo
Fórum Script Brasil
  • 0

Javscript (jquery, ajax, tanto faz) + grails


gabi_poa

Pergunta

Gente, desculpa a pergunta que deve ser super idiota.

Estou fazendo um site para iphone que deve receber dados do grails, mas não há formas de eu conseguir chegar nos dados.

Não sei o que estou fazendo errado? Achei que seria a mesma coisa que ajax com php, mas parece que não...

Tenho uma URL http://XXXX:8080/projeto/controller/show/1?format=json que ele retorna um json. Isso está ok

Mas se eu coloco isso no js, ele chega vazio.

Sabem o que estou fazendo errado?

<script type="text/javascript" src="../javascript/jquery-1.4.2.min.js"></script>
   
    <script type="text/javascript">
        $(document).ready(function(){
           
            getItens( null );
           
            function getItens(data){
                $.post('http://XXXX:8080/projeto/controller/show/1?format=json', data, createTable);
            }
           
            function createTable(data){
                //var dados=eval(data) também não funciona
                var dados=eval('(' + data.responseText + ')')
                alert(dados) //Chega undefined
           
            }
        });
           
    </script>

Agradeço qualquer dica. Não entendo nada de java, nunca trabalhei com grails. Quando busco no google tudo o que chega é grego pra mm :0(

Editado por fercosmig
add tag's
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

i aew gabi_poa, bom com jquery você não precisa usar eval para transformar o retorno em json, pode especificar no metodo post o tipo de retorno, ficando mais ou menos assim:

function getItens(data){
                $.post('http://XXXX:8080/projeto/controller/show/1?format=json', data, createTable, 'json');
            }
o quarto parametro da funcao post é o tipo de retorno. e na sua function createTable deixa assim:
function createTable(data){

                alert(data); /*iso deverá imprimir [object Object]*/
          
            }

espero que ajude, abraço!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

  • 0

bom faz o seguinte, existe um plugin pra debug ajax bem legal criado por Jaydson Gomes, você pode fazer o download aqui, ai testa assim:

function getItens(d){
            $.ajax({
                data: d,
                type:'POST',
                url: 'http://XXXX:8080/projeto/controller/show/1?format=json',
                dataType:'json',
                success: function(data){
                    createTable(data);
                },
                error: function(XMLHttpRequest, textStatus, errorThrown){
                    $(XMLHttpRequest).AjaxDebug({
                        containerId : "load",
                        nativeConsole : true
                    });
                }
                });
        }
não esqueça de adicionar o js:
<script type='text/javascript' src='ajax.debug.js'></script>
e crie uma div com id=load:
<div id='load'></div>

bom, ai tu pode ver o erro e se não conseguir identificar, posta ai pra ver se a galera ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

Nada mesmo.

Não aparece erro.

Eu sei que ele vai até o servidor porque a função de sucesso executa (coloquei um alert ali dentro). Agora se eu coloco um breakpoint com o firebug ele não chega na função de sucesso.

Eu sei que isso funciona com php. Achei que com grails seria a mesma coisa :(

Link para o comentário
Compartilhar em outros sites

  • 0

gabi jquery não pega informações de outros sites, você terá que fazer a conex na mão. sem o uso do jquery. se você prestar atenção verá q no final das funções de ajax diz que não pode acessar páginas fora do domínio onde está o site por umas parada de provacidade. por isso ta retornando nulo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...