Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 32
Sexo: Masculino

Como fazer 2 requests diferentes em AJAX

25-04-2013 15:38

Tenho este código em AJAX na minha página para fazer um request &dadosagua que vai retornar o valor da altura da água (um valor entre 0 e 465).
Mas tenho também que enviar outro request, algo do género &voltagembateria para receber o valor da voltagem da bateria.
Gostaria que me pudessem encaminhar para uma forma de fazer isto, de uma maneira simples, poruqe o meu conhecimento de AJAX não é muito avançado.
O código que tenho é o seguinte:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE8"> <title>SITE PARA NIVEL AGUA</title> <script language="javascript" type="text/javascript"> <!-- //Browser Support Code function dadosAlturaAgua(){ nocache = "&nocache=" + Math.random() * 1000000; var request = null; // The variable that makes Ajax possible! if( window.XMLHttpRequest ) { // Opera 8.0+, Firefox, Safari request = new XMLHttpRequest(); } else if( window.ActiveXObject ) { try { //Internet Explorer Browsers request = new XMLHTTP("Microsoft.XMLHTTP"); } catch(e) { try { request = new XMLHTTP("Msxml2.XMLHTTP"); } catch(e) { request = false; } } } if( request === false || request === null ) { window.alert("AJAX nao suportado! Impossivel visualisar dados. Considere actualizar o browser."); } // Create a function that will receive data sent from the server request.onreadystatechange = function(){ if(request.readyState == 4){ if(request.status == 200){ if(request.responseText != null){ document.getElementById("inner").style.height = request.responseText; } } } } request.open("GET", "&dadosagua" + nocache, true); request.send(null); setTimeout('dadosAlturaAgua()', 5000); } //--> </script> </head> <body onload="dadosAlturaAgua()"> </body>

Desde já agradeço a vossa ajuda.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como fazer 2 requests diferentes em AJAX

25-04-2013 15:50

Para enviar mais um valor, você pode fazer

request.open("GET", "&dadosagua" + nocache + "&voltagembateria=seuvalor", true);
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 32
Sexo: Masculino

Como fazer 2 requests diferentes em AJAX

25-04-2013 15:58

Obrigado pela resposta! Mas o que eu pretendo não é enviar o valor mas sim receber. O cliente envia o comando &dadosagua e o webserver identifica o comando e envia o valor para o cliente. O que eu quero é além do &dadosagua enviar outro comando como por exemplo &voltagembateria para o webserver identificar este comando e enviar o valor da voltagem da bateria. Alguma sugestão?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como fazer 2 requests diferentes em AJAX

25-04-2013 16:02

Se você pode manipular o valor enviado para o cliente, tipo assim: dado1|dado2

Dá para separar os 2 valores, e tratar cada 1 de uma forma diferente.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 32
Sexo: Masculino

Como fazer 2 requests diferentes em AJAX

25-04-2013 16:12

Eu consigo fazer isso no webserver sim. Como faria no ajax para separar os 2 valores? O webserver enviaria algo do género "465&6.2" como resposta ao request e como eu posso separar isto no ajax?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como fazer 2 requests diferentes em AJAX

25-04-2013 16:27

No lugar de

document.getElementById("inner").style.height = request.responseText;

Entra

// ARMAZENA O VALOR RECEBIDO valor = request.responseText; // SEPARA PELO & novo = valor.split("&"); // PEGANDO A PRIMEIRA PARTE DO VALOR document.getElementById("inner").style.height = novo[0];

Como pode observar, eu usei a primeira parte novo[0], a segunda parte, o que vem após o & é obtido por novo[1].

Sendo assim, é só criar outra linha document.... mandando o valor para o elemento que precisa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 32
Sexo: Masculino

Como fazer 2 requests diferentes em AJAX

25-04-2013 18:53


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE8"> <title>SITE PARA NIVEL AGUA</title> <script language="javascript" type="text/javascript"> <!-- //Browser Support Code function dadosAlturaAgua(){ nocache = "&nocache=" + Math.random() * 1000000; var request = null; // The variable that makes Ajax possible! if( window.XMLHttpRequest ) { // Opera 8.0+, Firefox, Safari request = new XMLHttpRequest(); } else if( window.ActiveXObject ) { try { //Internet Explorer Browsers request = new XMLHTTP("Microsoft.XMLHTTP"); } catch(e) { try { request = new XMLHTTP("Msxml2.XMLHTTP"); } catch(e) { request = false; } } } if( request === false || request === null ) { window.alert("AJAX nao suportado! Impossivel visualisar dados. Considere actualizar o browser."); } // Create a function that will receive data sent from the server request.onreadystatechange = function(){ if(request.readyState == 4){ if(request.status == 200){ if(request.responseText != null){ var valor = request.responseText; var novo = valor.split("&"); document.getElementById("inner").style.height = novo[0]; document.getElementById("voltagem").innerHTML = novo[1]; } } } } request.open("GET", "&dadosaguaevoltagem" + nocache, true); request.send(null); setTimeout('dadosAlturaAgua()', 5000); } //--> </script> </head> <body onload="dadosAlturaAgua()"> </body>

Ficaria mais ou menos desta forma?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como fazer 2 requests diferentes em AJAX

25-04-2013 19:11

Isso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 32
Sexo: Masculino

Como fazer 2 requests diferentes em AJAX

26-04-2013 13:02

Só mais uma coisa... no código tenho esta parte:
request.open("GET", "&dadosaguaevoltagem" + nocache, true); request.send(null); setTimeout('dadosAlturaAgua()', 5000);

Sendo que a minha intenção ao colocar o setTimeout() era a de que o script fizesse o request de 5 em 5 segundos (que faz!) mas após alguma leitura, vi que este comando serve para parar o request e que o que deveria usar era o comando setInterval(). Agora fico na dúvida porque é que com o setTimeout() também faz requests de x em x tempo...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como fazer 2 requests diferentes em AJAX

26-04-2013 15:41

Sei que o setInterval() fica repetindo continuamente, até que seja dado o comando de parar, com o clearInterval().

Já o setTimeout() é executado continuamente.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 32
Sexo: Masculino

Como fazer 2 requests diferentes em AJAX

26-04-2013 16:47

Ok, então assim como está está bem, visto que eu quero que o cliente esteja continuamente a pedir os dados de x em x tempo.

Não sei como agradecer web. Foi e tem sido uma grande ajuda!
Grande abraço! Obrigado!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como fazer 2 requests diferentes em AJAX

26-04-2013 16:51

;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]