Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Paulo Cesar de Oliveira

Ajax não subescreve variável

Question

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
  
});

 

Edited by Paulo Cesar de Oliveira

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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)
});

 

Edited by ursolouco

Share this post


Link to post
Share on other 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!!!

 

 

 

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148430
    • Total Posts
      643861
×
×
  • Create New...