Ir para conteúdo

Arquivado

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

kaiquemix

Não conseguindo chamar a mesma variável fora da function.

Recommended Posts

Olá galera não estou conseguindo chamar a minha variavel PT1 fora do function(data) e dentro da function getImageItem.
Sendo que a function(data) está dentro da function getImageItem.

    function getImageItem() {
                  var item = "";
                    jQuery.ajax
            ({
                
                url: "pegaPortifolio.php/?id=1", //?id="+idUltimo,
                dataType: "json", //Tipo de Retorno
                success:
                function(data) {
                    var pt1 = "";
                    var i = 1;
                    var ultimo_id = 0;
    
                      var size = 0, key;
                      for (key in data) {
                            if (data.hasOwnProperty(key)) size++; //cod para contar o tamanho do array multidimensional
    
                        }//size , variavel com o tamamho do array
    
                     for(i = 0; i < size; i++){ //monta o html para exibir os dados
    
                         pt1 +='<div class="element-item '+data[i].menu+'" data-category="transition"><div style="padding:2.5px;"><div style="border: 1px solid #AAAAAA;"><a href="#portfolioModal54" class="portfolio-link" data-toggle="modal"><img src="'+data[i].imageM+'" alt="project 2"><div class="fundo-port"><h1>"'+data[i].tipo+'"</h1><h2>"'+data[i].nome+'"</h2></div></a></div></div></div>';
                         
                         
                      }   
            } 
        });
                //alert(pt1);
            item = pt1; //NÂO PEGA A VARIAVEL
              return item;
            }

Parte que quero que a variavel seja chamada é na

item = pt1; //NÂO PEGA A VARIAVEL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até onde sei, para acessar uma variável alterada dentro de uma função fora dela ela precisa ser global, dessa forma ela está restrita à função onde ela foi declarada:

 

function(data) {
    var pt1 = "";
    [...]

Para conseguir isso, precisa que ela seja declarada fora da função:

 

var pt1 = '';
function(data) {
    pt1 = 'novo valor';
}
console.info(pt1); // Retornará "novo valor"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc não vai conseguir acessar, pq é assíncrono, e os escopos são diferentes, além do tempo em que a variável recebe o valor.

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.