Ir para conteúdo

POWERED BY:

Arquivado

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

InterPlanet

[Resolvido] Armazenar retorno do metodo .get em variavel javascri

Recommended Posts

Boa noite pessoal,

 

Tenho uma dúvida que, creio, seja simples, mas como iniciei hoje no jQuery, to perdido, aqui vai o código:

 

function EXE(URL, Titulo, Tempo)
{
Retorno                                = '';
var Campo_Titulo                       = document.getElementById('Ini_Titulo');
var Campo_Texto                        = document.getElementById('Ini_Texto');

Campo_Titulo.value                     = Titulo;
Retorno                                = $.get(URL);

setTimeout("document.getElementById('Ini_Texto').value = Retorno", Tempo);
}

O retorno ai, no caso é [object]! Quando na real é uma string retornada pela url. Como passar a string retornada pela URL diretamente para a variavel Retorno?

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque:

Retorno                                = $.get(URL);
por:

Retorno = window.location.href;

$.get do jquery, é um método de ajax via GET

http://api.jquery.com/jQuery.get/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Wilian,

 

Vlw a resposta, mas creio que nao entendeu o objetivo, a URL é uma página php e gostaria de armazenar o retorno dela, tipo file_get_contents do PHP, na variavel Retorno.

 

O bom é que consegui achar a solução, funciona perfeitamente, só a string resultado da URL é retornada:

function EXE(URL, Titulo, Tempo)
{
Retorno                      = '';
Campo_Titulo                 = document.getElementById('Ini_Titulo');
Campo_Titulo.value           = Titulo;
Campo_Texto                  = document.getElementById('Ini_Texto');
Campo_Texto.value            = '';

setTimeout("Campo_Texto.value = 'Executando...'", 500);
$.get(URL, '', function(data){ Retorno = data; });

Intervalo                    = setInterval("if (Retorno != '') { EXE_Retorno(Retorno); clearInterval(Intervalo); }", Tempo);
}

function EXE_Retorno(Retorno)
{
Campo_Texto                  = document.getElementById('Ini_Texto');
var Execucoes                = Retorno.split("|");
var iExecucoes               = Execucoes.length - 1;

for (i = 0; i <= iExecucoes; i++)
    { Dados                  = Execucoes[i];
      Dados                  = Dados.split(":");
      if (i = 0)
         { Campo_Texto.value = Dados[1];
         } else { setTimeout("Campo_Texto.value = Dados[1]", Dados[0]); }
   }
}

Acrescento que tive de dividir a função em duas partes pois o processamento do php pode demorar um pouco, daí, usei a setInterval para chamar o processamento do retorno que são mensagens das etapas de um processo, tipo: Fase1:Ok|Fase2:Concluido:Fase3:Erro, somente quando o php for concluido.

Obrigado pela atenção.

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.