Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaniloTec

[Resolvido] Variável dentro do métido get() jQuery

Recommended Posts

Boa tarde, gente.

Estou declarando uma variável fora do método get() e dentro do método eu atribuo um valor pra ela. O problema é que eu preciso utilizar a variável fora do método, mas a variável perde o valor.

 

Estou fazendo da seguinte forma:

 

var bitDetalheMidia;

$.get(url,{ajax:true,codRegional:codRegional,codMidia:codMidia,acao:'VerificaDetalheMidia'},function(VerificaDetalheMidia){ 
   bitDetalheMidia = VerificaDetalheMidia;
});

alert(bitDetalheMidia);

Quando faço isso a variável deixa de existir. Como faço pra continuar utilizando a variável fora do métoro?

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Novamente essa dúvida...

Lá vamos nós de novo...

 

Bom, amigo, o negócio é o seguinte:

 

Ajax é um acrônimo para Asynchronous Javascript And XML.

O que isso significa?

Significa que a requisição é feita assincronamente ao servidor, em outras palavras, a requisição é feita em paralelo com o script atual.

 

O que acontece então?

Acontece que o script não para a sua execução para esperar a requisição terminar.

 

O que fazer então?

TODA E QUALQUER função que se utilize da resposta da requisição Ajax precisa ser chamada quando a requisição terminar (readyState = 4, status = 200).

 

A jQuery já facilita esse trabalho pra você e automatiza tudo, você só precisa informar quais funções chamar ao fim da requisição.

No seu caso é:

function(VerificaDetalheMidia){ 
 bitDetalheMidia = VerificaDetalheMidia;
}

Sendo assim, essa função só será executada quando a requisição terminar.

Agora, se você tentar fazer como está fazendo, dando um alert na variável, não vai funcionar, porque o script não parou para esperar e a requisição ainda está ocorrendo, ou seja, a variável não tem valor nenhum ainda.

 

Espero ter sido claro http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi perfeitamente... o conceito, hehehe...

Não estou conseguindo aplicar isso. Tentei chamar a função de várias formas e não consegui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

function(VerificaDetalheMidia){ 
 bitDetalheMidia = VerificaDetalheMidia;
 //TUDO AQUI...
 //...
 //...
}

TUDO o que você quiser fazer que envolva a resposta da requisição Ajax deve ficar dentro da função anônima acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew, Rick.

Fiz o teste aqui e funcionou direitinho.

Desculpe ter que fazer você explicar isso novamente, mas eu tinha procurado no fórum e não tinha encontrado nada a respeito. :P

Abrazz!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.