da maneira como tu quer nao vai funcionar nunca…
a funcao processRequest é chamada implicitamente pelo browser a cada troca de status…
a variavel após o send sempre estará undefined.
cara… se não tá entrando no if é pq a requisição nao ta funcionando…
ou seja teu servlet ainda tá errado…
faz assim
coloca esse endereco (http://127.0.0.1:8080/ajax?receber=flavio) no teu navegador… e veja o que acontece… se nao funcionar pelo navegador… tb nao vai funcionar no ajax.
function buscaVendas(){
var empID = $F('lstEmpregados');
var y = $F('lstAnos');
var url = 'http://servidor/app/busca_vendas';
var pars = 'empID=' + empID + '&ano=' + y;
var myAjax = new Ajax.Request(
url,
{
method: 'get',
parameters: pars,
onComplete: mostraResposta
});
}
function mostraResposta(requisicaoOriginal){
//copia o XML retornado para o textarea
$('resultado').value = requisicaoOriginal.responseText;
}
bom…to em casa e nao da pra fazer isso agora… de manha eu vo tentar ver o que consigo resolver la…
vo vese do mais uma lida sobre servlets, pois deve ser o retorno queta com problemas (pq ta recebendo, ja que ta imprimindo normalmente no console do tomcat pelos println, tanto o de antes como de depois da linha querecebe o valor, sem da nenhuma exceção)
obrigado denovo pelas dicas nbluis, vc me ajudo bastante…
obrigado também pedrosa pelo exemplo, eu vo estudaele ever o queque posso aproveita… aoqueli rapido de repente monto algo pra automatiza envio e recebimento de valores…
pois é…eu estranhei nao entra nos if, por que o javascript ta enviando ok a string e o servlet imprime ela no console do tomcat… não ta é retornando acredito eu que é pq o javascript não entra nos if…eu vo tenta analisa eles mais a fundo ou algo assim…
ao tenta acessa pelo navegador apareceu la “recebido ok”…
o que deveria aparecer… disconfio que seja no if do javascript…
bom, qualquer contribuição é muito bem vinda, valeuzão…
o que eu fiz pra fazer funcionar, foi ter colocado o req.overrideMimeType(‘text/xml’) por motivos explicados no tuto, e forçar a função, tb explicado como no tutorial, apesar de não saber qual a diferença pois tava entrando nela do mesmo jeito, só não no if, (pq q isso mudo eu ainda não sei).
não intendi bem o motivo de funciona assim pq antes tava chamando a função normalmente mais não entrava no if, conforme verificado…
segue o codigo que ficou (com umas mudança basicona só pra atualiza na segunda TextField, o conteudo da primeira):
<html>
<body>
<script type="text/javascript">
var texto="não ta funcionando";
function ajaxFunction(){
var req;
var isIE;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
}else if (window.ActiveXObject) {
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
}
//req.overrideMimeType('text/xml'); <-- se eu descomenta isso não tava funcionando no ie
var url= "http://127.0.0.1:8080/ajax?receber="+document.formulario.entrada.value;
//initRequest(url);
req.onreadystatechange = function(){
if( req.readyState == 4 && ( req.status == 200 || req.status == 500 ) ) {
texto=req.responseText;
//alert("retorno = "+texto);
document.formulario.saida.value=texto;
}
};
req.open("GET", url, true);
req.send(null);
}
</script>
<form name="formulario">
entrada: <input type="text" onkeyup="ajaxFunction();" name="entrada" />
saida: <input type="text" name="saida" />
</form>
</body>
</html>
Estou tentando fazer uma interação simples com ajax e servlet mas o resultado não fica na tela. Pelo que intendi após o resultado ser escrito na página, a página se atualiza e apaga o resultado.
Segue o código.
SERVLET
@WebServlet("/adicionaContato")
public class AdicionaContato extends HttpServlet {
Estou tentando fazer uma interação simples com ajax e servlet mas o resultado não fica na tela. Pelo que intendi após o resultado ser escrito na página, a página se atualiza e apaga o resultado.
Segue o código.
SERVLETS
[code]
@WebServlet("/adicionaContato")
public class AdicionaContato extends HttpServlet {