Ir para conteúdo
Fórum Script Brasil
  • 0

Ajax não subescreve variável


Paulo Cesar de Oliveira

Pergunta

Bom dia pessoal!!

Estou com um problema que talvez para vocês seja muito fácil de resolver!

Não consigo copiar o resultado para a variável registroJson, já perdi quase um dia nesse problema;

$(document).ready(function(){

  var registroJson = [];
  var url = 'xpto';  
  
  $.getJSON(url,function(data){
 
    registroJson = data; //copiando para variavel registroJson o resutado 'data' 
    
    // já tentei registroJson.push(data) e tabem não funciona    
  }); 
  
  console.log(registroJson); //o resultado no console sempre mostra [], array vazio
  
});

 

Editado por Paulo Cesar de Oliveira
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Salve,

Pega o conteúdo da sua variável url, jogue no browser e veja se está saindo conteúdo.

Outro detalhe, sua chamada é assíncrona, até que a mesma se complete o conteúdo de "registroJson" ainda será um array vazio.

Se você quer dar sequencia no seu código experimente algo como:

var registroJson = [];
var url = 'xpto';
$(document).ready(function(){
    $.ajax({
        url: url,
        async: false,
        dataType: 'json',
        success:function(response){
            if(response){
                registroJson = response;
            }
        }
    });
    console.log(registroJson)
});

 

Editado por ursolouco
Link para o comentário
Compartilhar em outros sites

  • 0
22 minutos atrás, Paulo Cesar de Oliveira disse:

Bom dia URSÃO!

Vou implementar da forma que você me indicou! já já comento o resultado, muito obrigado!! 

Opá!!

Meu amigo deu certo, muito bom. salvou meu dia!!

Só mais uma duvida!!

Toda vez que é executado o script do ajax utilizando a  propriedade  async: false, quer dizer que o script e executado sempre antes do carregamento da pagina ???

ou

A  propriedade  async: false, é sempre executada depois do carregamento da pagina ???

Muito obrigado!!!

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 14/03/2016 at 11:31, Paulo Cesar de Oliveira disse:

Opá!!

Meu amigo deu certo, muito bom. salvou meu dia!!

Só mais uma duvida!!

Toda vez que é executado o script do ajax utilizando a  propriedade  async: false, quer dizer que o script e executado sempre antes do carregamento da pagina ???

ou

A  propriedade  async: false, é sempre executada depois do carregamento da pagina ???

Muito obrigado!!!

 

 

 

Salve,

A propriedade "async" informa ao objeto responsável do browser (que faz a requisição XMLHTTPRequest) que a requisição deve ser ou não assíncrona.

Mas devido a muitos anos de experiência nesta industria vital, sei que diversos programadores vão vão ser perguntar:

O que é uma requisição assíncrona?

Uma requisição assíncrona, de um modo "bem simples" de dizer é o envio de uma requisição pelo browser para um URL e avançar a execução do <script> para a linha seguinte (ou seja, o browser não espera a requisição concluir para avançar para a próxima instrução da programação).

[]s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...