Ajuda com chamada $.ajax + servlet [RESOLVIDO]

Pessoal, to fazendo uma chamada ajax com JQuery para uma servlet, mas nao sei como fazer a servlet devolver os parametros para essa chamada.

tentei algo assim:

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("sid", "mauricio lima");
}

Mas na função complete(xhr, status) do $.ajax não vem nada de parametros.

alguma dica???

Povo que sai usando ajax de plugin sem entender como ele funciona…
Vamos lá.
A requisição ajax depende de um retorno, textual ou em xml, do servidor. Quando a consulta é em uma jsp, por exemplo, o retorno textual é o html gerado na compilação daquele arquivo. Sem o ajax, o html seria exibido normalmente, embora a página precisasse ser recarregada.
Em uma servlet, você tem duas opções, ou gera o html que será renderizado pela própria servlet (o que eu acho menos indicado) ou cria uma jsp que receberá o resultado produzido pela execução da servlet e, ao finalizar esta execução, utiliza o response.sendRedirect para a tal jsp.
Isso fará com que haja conteúdo html gerado e o ajax possa “mostrar” algo na tua páginas.

drsmachado e sua famosa delicadeza kkkk.

obrigado pela ajuda!

resolvi usando json. faço a chamada ajax para servlet e retorno um json. fica bem simples de trabalhar com javascript.

vlw

To com uma dúvida parecida(eu acho, Desculpa me intrometer e que não to recebendo nenhuma ajuda e não consigo solucionar o problema).
To fazendo uma busca no banco de dados para gerar um gráfico em javascript. A busca é feita conforme o que o usuário preenche em um formulário. Eu envio esse formulário via ajax para um arquivo php e faço a consulta, O retorno dessa consuita e codifico para JSON porém não consigo fazer o javascript enxergar o JSON. Segue meu código abaixo.

$("#form").submit(function(){  
        var dados = $("#form").serialize();
        
        $.ajax({
            
            type: "POST",
            url:"./Acao.php",
            data: dados,
            success : function(data){
                alert("enviando..."+data);
                $.each(data.arrMedia, function(index, val){arrMedia.push(val)});
                alert(data.arrmedia);
            }
        });


        return false;
    });

       $.getJSON("./Acao.php", function(data){
            alert(data);     
        });
// uma parte do arquivo Acao.php
Acao.php
$consulta->setLink($link);
    $consulta->setMedicao($local_medicao, $tipo_sensor);

    // definindo atributo local da medição da class Consulta
    $consulta->setLocalMedicao($local_medicao);

    // método que fará consultas no banco de dados para gerar gráficos de linha e de setor
    // Parâmetros de entrada: $tipo_intervalo -> intervalo da medição, definidos em mês, ano , dia e hora
    // Retorno: vetor com os dados das da consulta
    $consulta->consultarMedicao($tipo_intervalo);
    
    
    function imprimir($texto){
        echo $texto;
    }

a parte do javascript que está assim

success : function(data){
                alert("enviando..."+data);

funciona porém a função getJSON me retorna data = null

Como faço para passar os dados de uma consulta que estão em JSON para o javascript???

Mais uma vez ´peço desculpas por envadir o tópico.

C. lucas, faço parecido com isso tbm:

$.ajax({
            type: "POST",
            url:"./Acao.php",
            data: dados,
            success : function(data){
                alert("enviando..."+data);
                $.each(data.arrMedia, function(index, val){arrMedia.push(val)});
                alert(data.arrmedia);
            }
        });

no meu caso eu envio um json para a pagina html, ele vem no parametro da function success normalmente, depois eh so iterar. acho q seu problema esta no php q nao ta devolvendo o json corretamente.

[]'s