Problema com Ajax

4 respostas
Luiz-SP
Pessoal, tô tentando fazer um aplicação Ajax na unha, sem usar framework, só pra ver como é! Mas o problema e que depois que eu chamo o
xmlHttp.open("GET","http://localhost:8080/estudoajax/checkavail?user="+u1,true);

Parece que nada acontece, alguem poderia me dar uma força?

function createXmlHttpRequest(){
   alert("Entrou na função createXmlHttpRequest");
   var xmlHttp;
   if(window.ActiveXObject){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   else if(window.XMLHttpRequest){
     xmlHttp=new XMLHttpRequest();
   }
}

function startRequest(){
   createXmlHttpRequest();
   var u1=document.catalog_new.user.value;
   alert(u1);
   xmlHttp.open("GET","http://localhost:8080/estudoajax/checkavail?user="+u1,true);
   alert("Após xmlHttp.open");
   xmlHttp.onreadystatechange=handleStateChange;
   alert("Após xmlHttp.onreadystatechange");
   xmlHttp.send(null);
   alert("Após xmlHttp.send");
}

4 Respostas

diguix

Caro LuizClaudio, vc esta criando a variavel xmlHttp dentro do método createXmlHttpRequest e querendo usa-la em outro…
… a froma certa eh assim:

var xmlHttp;
function createXmlHttpRequest(){
    alert("Entrou na função createXmlHttpRequest");

    if(window.ActiveXObject){
       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){
      xmlHttp=new XMLHttpRequest();
    }
 }
 
 function startRequest(){
    createXmlHttpRequest();
    var u1=document.catalog_new.user.value;
    alert(u1);
    xmlHttp.open("GET","http://localhost:8080/estudoajax/checkavail?user="+u1,true);
    alert("Após xmlHttp.open");
    xmlHttp.onreadystatechange=handleStateChange;
    alert("Após xmlHttp.onreadystatechange");
    xmlHttp.send(null);
    alert("Após xmlHttp.send");
 }

espero ter ajudado…
Abs’[] qlq dúvida continue postando

cv1

O Firebug eh seu pastor e nada lhe faltara. :wink:

Luiz-SP

diguix:
Caro LuizClaudio, vc esta criando a variavel xmlHttp dentro do método createXmlHttpRequest e querendo usa-la em outro…

espero ter ajudado…
Abs’[] qlq dúvida continue postando

Então, eu só não pus a declaração no post, mas no meu código ela tá lá, acho que tem haver o que o CV disse, depois de várias googlegadas vi que o firefox tem uns paus na execução de Ajax(num rola em localhost), e prórprio padrão tem umas limitações como num dá pra colocar include de jsp, “consertei” e funcionou, mesmo assim obrigado!!! :slight_smile:

D
Respondendo para futuras duvidas/pesquisas:

function GetXmlHttpObject(){ 
    var objXMLHttp = null;
    if (window.XMLHttpRequest){
        objXMLHttp = new XMLHttpRequest();
    }else if (window.ActiveXObject){
        objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return objXMLHttp;
}

function ajax(){
    var valor = document.getElementById('valor').value;
    var url = "funcoes.ajax.php";
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
        alert ("O browser não suporta requisição HTTP!!!");
        return;
    }
		
     url=url+"?valor="+valor;
     url=url+"&sid="+Math.random();
     xmlHttp.onreadystatechange = retornoAjax;
     xmlHttp.open("GET",url,true);
     xmlHttp.send(null);
     //alert(url);
}

function retornoAjax(){
        //mostra um gif antes de trazer a resposta do servidor
	//if(xmlHttp.readyState < 4){
		//document.getElementById("loader").innerHTML = "<img src='img/loader.gif'>";
	//}

	var response = xmlHttp.responseText;
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		alert(response);
	}
}
Criado 8 de abril de 2007
Ultima resposta 6 de jun. de 2011
Respostas 4
Participantes 4