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