Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Último exercício de VRaptor

O último exercício de VRaptor que fiz perguntava:

E se a requisição AJAX devolver conteúdo, por exemplo um produto que foi serializado para JSON com VRaptor? Como faço para recebê-lo via JQuery?

A opinião do instrutor foi:

Ao chamar a função $.get(), passamos para ela uma outra função, que será invocada quando a requisição AJAX voltar. Essa função pode receber um parâmetro. Esse parâmetro será preenchido com o conteúdo da resposta, caso houver. No código abaixo, a variável "dados" contém o conteúdo.

A minha dúvida é: Como fazer para receber vários retornos diferentes?

Sei que para colocar no retorno podemos usar algo como "result.include". Entretanto, não visualizei como acessar nestes casos de AJAX.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

O código que ficou faltando no corpo da dúvida é:

<script type="text/javascript">

    $.get("endereco-para-requisicao-ajax", function(dados) {
        alert("veja o que voltou na requisição: " + dados)
    });

</script>
solução!

Oi, Gustavo

Quando usamos o formato JSON, não usamos o result.include para colocar objetos na resposta. Só podemos enviar um único objeto como resposta usando o Results.json:

result.use(Results.json()).from(objeto).serialize()

A questão é que esse objeto pode ter vários outros, ou mesmo ser uma lista! Então é dessa forma que você pode devolver várias informações para sua página.

Deu para entender a ideia, Gustavo?