Ir para conteúdo

POWERED BY:

Arquivado

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

bkawakami

[Resolvido] Usar variável fora do método .get() jQuery

Recommended Posts

Olá, preciso tirar uma dúvida simples. Desejo tirar usar a variavel data fora do método .get(), porém não consigo utiliza-la no eval. Segue o código

 

 
$.get("http://meusite.com/agenda/index/calendar", function(data){
  alert(data);
});

var obj = eval("(" + data + ')');

return {
events : obj };

 

Atualizado: Preciso pegar essa variavel data e colocar dentro do eval para a obj receber. Só que não consigo e nem sei como receber a variavel data no eval. Porém dentro do .get() ela aparece no alert

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passei por isso. Não tem como passar variável assim usando Ajax do Jquery, pelo menos não consegui, o que vocẽ pode fazer é criar uma função, resolvi fazendo com que o AJAX fosse a função Main onde executará outras funções, mas não dará para passar valor de variável se não for de função para função.

 

Por exemplo:

 


function teste(data){
alert(data);
}

$.get("http://meusite.com/agenda/index/calendar", function(data){
  teste(data);
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso acontence pq a tua parte que usa o evil eval é executada logo após você fazer a requisição, mas a tua função de callback não, pois o Ajax é feito de modo assincrono.

 

Quando tu chama o eval, data ainda está undefined.

 

Ou você usa uma outra função como foi explicado pelo Diegus ou usa o objeto Deferred do jQuery.

 

Aliás, porque motivo você está usando eval? Tendo em mente que não existe nenhum motivo plausivel para usá-lo. =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como passar variável assim usando Ajax do Jquery

 

Opa, apenas para complementar. Existe o objeto Deffered que foi introduzido na jQuery 1.5, exatamente para isso.

Leia:

http://wbruno.com.br/2012/01/23/exemplo-de-uso-jquery-deferred-simples/

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.