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.

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?