Jump to content


Photo

Levar Variável Preenchida Com Valor De Responsetext


  • Faça o login para participar
2 replies to this topic

#1 Fernando Wobeto

Fernando Wobeto

    webmaster

  • Usuários
  • 341 posts
  • Sexo:Masculino

Posted 05/11/2009, 22:33

galera,

imaginem uma funcao POR EXEMPLO, como a de baixo onde quero levar uma variavel preenchida com o valor de responseText para fora da consulta ajax, trabalhando ela, veja um exemplo:
<script>
function teste(){
	var ajax = openAjax();
	ajax.open('GET', 'acao.php', true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			if (ajax.status == 200) {
				var situacao = ajax.responseText;
			}
		}
	}
	ajax.send(null);
	
	if(situacao == '1'){
		alert('fui pra fora');
	}
}
</script>

Notem que nesse script com a funcao teste() o valor recebido de ajax.responseText eu crio uma variavel chamada situacao.

fora da funcao ajax eu tento trabalhar com essa variavel mas nao funciona.

Como posso fazer isso?

Obrigado
|--------------------------------------------------|
| MSN: fernando_wobeto@hotmail.com
| E-MAIL: fernandowobeto@gmail.com
| Desenvolvedor Web
|--------------------------------------------------|

#2 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 06/11/2009, 07:54

O problema é que vc criou uma variavel local.


<script type="text/javascript">
var situacao;

function teste(){
	var ajax = openAjax();
	ajax.open('GET', 'acao.php', true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			if (ajax.status == 200) {
				situacao = ajax.responseText;
			}
		}
	}
	ajax.send(null);
	
	if(situacao == '1'){
		alert('fui pra fora');
	}
}
</script>


#3 Fernando Wobeto

Fernando Wobeto

    webmaster

  • Usuários
  • 341 posts
  • Sexo:Masculino

Posted 06/11/2009, 11:49

Pois cara..fiz assim ja e nao funcionou, para voce ter uma ideia fiz assim:
<script type="text/javascript">
var situacao;

function teste(){
	var ajax = openAjax();
	ajax.open('GET', 'acao.php', true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			if (ajax.status == 200) {
				situacao = ajax.responseText;
			}
		}
	}
	ajax.send(null);
	
	alert(situacao);
}
</script>

o Script retorna um alert escrito Undefined.

quando faço assim:
<script type="text/javascript">
var situacao;

function teste(){
	var ajax = openAjax();
	ajax.open('GET', 'acao.php', true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			if (ajax.status == 200) {
				situacao = ajax.responseText;
				alert(situacao);
			}
		}
	}
	ajax.send(null);
}
</script>

ai ele entao retorna o alert com o valor retornado da consulta ajax. =(


Resolvi, troquei:
ajax.open('GET', 'acao.php', true);

por:
ajax.open('GET', 'acao.php', false);


Dessa forma fico à espera que a query seja executada, enquanto que antes não.

Obrigado
|--------------------------------------------------|
| MSN: fernando_wobeto@hotmail.com
| E-MAIL: fernandowobeto@gmail.com
| Desenvolvedor Web
|--------------------------------------------------|




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq