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
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
Curtidas 0
Respostas
Alex William
03/12/2018
oi, posso indagar uma questão?
pq está função:
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?
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?
GOSTEI 0
Epitacio
03/12/2018
oi, posso indagar uma questão?
pq está função:
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?
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
GOSTEI 0
Epitacio
03/12/2018
oi, posso indagar uma questão?
pq está função:
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?
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
GOSTEI 0