Retorno de Ajax com Caracter Inválido - Vraptor 3.1.2

4 respostas
anderson_lr

Boa tarde pessoal,

Estou com o seguinte método executado via ajax com JQuery que me retorna um objeto JSon sem elemento raiz:

public void carregarGruposDeAvaliacao(Long idDaAvaliacao) throws PersistenciaException {

        List<GrupoDeAvaliacao> grupoDeAvaliacaoList = daoFactory.getAvaliacaoDao().encontrarPorId(idDaAvaliacao).getGrupoDeAvaliacaoList();

        result.use(json()).withoutRoot().from(grupoDeAvaliacaoList).serialize();

}

O problema é que o método está me retornando String’s com caracteres inválidos, como se a página JSP estivessa com charset UTF-8 ao invés de ISO. Vocês sabem como corrigir esse problema? Aguardo retorno de vocês. Obrigado.

4 Respostas

Lucas_Cavalcanti

vc tá setando o encoding da requisição?

anderson_lr

Lucas,

Eu estou usando a seguinte função em JQuery para chamar a função:
function carregaGruposDeAvaliacao(){
                var estadoAvaliacao   = $('#avaliacao').val();
                var gruposDeAvaliacao = $('select[name=perguntaNaoMensuravel.grupoDeAvaliacao.id]');

                gruposDeAvaliacao.html('<option value="load">Procurando...</option>');
               
                $.getJSON(
                    contextoDaAplicacao + '/perguntaNaoMensuravel/carregarGruposDeAvaliacao',
                    {idDaAvaliacao : estadoAvaliacao},
                    function(data) {

                        var html = '<option value="">Selecione</option>';

                        $.each(data,function(index, optionData){

                          html += '<option value="'+ optionData.id+'">'+optionData.descricao+'</option>';

                        });

                        gruposDeAvaliacao.html(html);

                    }
                );

            }
Lucas_Cavalcanti

coloque isso no seu web.xml:

<context-param>
	<param-name>br.com.caelum.vraptor.encoding</param-name>
	<param-value>UTF-8</param-value><!-- ou ISO-8859-1 -->
</context-param>
anderson_lr

Lucas,

Funcionou perfeitamente. Já tinha tentado de tudo, mas agora funcionou. Obrigado pela Ajuda.
Criado 3 de agosto de 2010
Ultima resposta 4 de ago. de 2010
Respostas 4
Participantes 2