Ajax só retorna o formulário da página php da 1ª requisição, as seguintes independente de mudar o valor, sempre será os dados da 1ª requisição

03/12/2018

0

Bom dia pessoal, tenho uma duvida de ajax, estou passando uma variável id (que pego pelo valor de um botão) e passando pelo ajax para que ele me retorne um formulário com os dados de um produto em uma modal, quando abro a primeira modal funciona normal, más quando abro a segunda, ele me retorna os dados da primeira...
/**
         * Captura uma variavel GET do link
         * e retorna.  EX:
         * getCat()[''''''''nome da viravel desejada'''''''']
         */
        function getCat() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf(''''''''?'''''''') + 1).split(''''''''&'''''''');
            for (var i = 0; i < hashes.length; i++)
            {
                hash = hashes[i].split(''''''''='''''''');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }

        /**
         * Faz a leitura de uma nova tabela
         * de produto.
         * enviado a variavel GET cat obtida na função getCat()
         */
        function att_tabela() {
            $.ajax({
                method: "POST",
                url: "../../config/php/update/produto/udp_tb.php",
                data: {c: getCat()[''''''''cat'''''''']},
                success: function (result) {
                    $(''''''''#tb_produto'''''''').html(result);
                }
            });
        }

        /**
         * Faz a leitura de novas Modais ao atualizar a tabela
         * enviado a variavel GET cat obtida na função getCat()
         * @param  id
         * @returns 
         */
        function Janela(id) {
            $.ajax({
                method: "POST",
                data: {id: id, c: getCat()[''''''''cat'''''''']},
                url: "paginas/cardapio/produto/produto/form_update_modal.php",
                success: function (result) {
                    $(''''''''.modal-body'''''''').html("");
                    $(''''''''.modal-body'''''''').html(result);
                }
            });
        }

       /*
         * Ao clicar em botão pega o valor,
         * e o repassa na função Janela(id) 
         */
        $(''''''''.btn_modal_on'''''''').click(function () {
            var id = 0;
            id = $(''''''''.btn_modal_on'''''''').val();
            Janela(id);
        });

Epitacio

Epitacio

Responder

Posts

03/12/2018

Alex William

oi, posso indagar uma questão?

pq está função:

function getCat() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf(''''''''?'''''''') + 1).split(''''''''&'''''''');
            for (var i = 0; i < hashes.length; i++)
            {
                hash = hashes[i].split(''''''''='''''''');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }


Não seria mais facil usar $_GET['<nome_variavel>'] do PHP? É mais eficiente e vc utiliza o nome dos parametros ao inves de criar uma função.

Funções ajax rodam na mesma pagina sem redirecionar, então se sua pagina for "pagina.php?id=1&t=teste" sempre que vc chamar a função getCat() ou o $_GET[] ele sempre vai retornar os mesmos valores.

Poderia postar o codigo das paginas php que voce requisita no ajax por favor, para verificar que função tem nessas paginas?
Responder

03/12/2018

Epitacio

oi, posso indagar uma questão?

pq está função:

function getCat() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf(''''''''?'''''''') + 1).split(''''''''&'''''''');
            for (var i = 0; i < hashes.length; i++)
            {
                hash = hashes[i].split(''''''''='''''''');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }


Não seria mais facil usar $_GET['<nome_variavel>'] do PHP? É mais eficiente e vc utiliza o nome dos parametros ao inves de criar uma função.

Funções ajax rodam na mesma pagina sem redirecionar, então se sua pagina for "pagina.php?id=1&t=teste" sempre que vc chamar a função getCat() ou o $_GET[] ele sempre vai retornar os mesmos valores.

Poderia postar o codigo das paginas php que voce requisita no ajax por favor, para verificar que função tem nessas paginas?


Preciso carregar uma tabela dinamicamente, sem realizar refresh ou header na página, e ultilizo o ajax, com uma url em uma página php que faz a leitura de uma nova tabela, a tabela ele identifica por esse get, que capturo e envio via ajax, sem recarregamento e dinamicamente
Responder

03/12/2018

Epitacio

oi, posso indagar uma questão?

pq está função:

function getCat() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf(''''''''?'''''''') + 1).split(''''''''&'''''''');
            for (var i = 0; i < hashes.length; i++)
            {
                hash = hashes[i].split(''''''''='''''''');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }


Não seria mais facil usar $_GET['<nome_variavel>'] do PHP? É mais eficiente e vc utiliza o nome dos parametros ao inves de criar uma função.

Funções ajax rodam na mesma pagina sem redirecionar, então se sua pagina for "pagina.php?id=1&t=teste" sempre que vc chamar a função getCat() ou o $_GET[] ele sempre vai retornar os mesmos valores.

Poderia postar o codigo das paginas php que voce requisita no ajax por favor, para verificar que função tem nessas paginas?


Preciso carregar uma tabela dinamicamente, sem realizar refresh ou header na página, e ultilizo o ajax, com uma url em uma página php que faz a leitura de uma nova tabela, a tabela ele identifica por esse get, que capturo e envio via ajax, sem recarregamento e dinamicamente



Mas já consegui resovler o problema, quando ultilizei o $('.btn_modal_on).click(function(){....});
quando fui capturar o valor, inves de ultilizar o this, coloquei o nome da classe, e como a vários botões desta classe, ele captura o 1º valor,
resumo, só trocar a captura do valor de .btn_modal_on para this e voltou a funcionar
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar