fil79 Posted May 28, 2013 at 12:05 PM Report #509396 Posted May 28, 2013 at 12:05 PM Boas Tenho uma aplicação que usa o plugin datatable do jquery para fazer a listagem de uma tabela. Num outro script tenho um form para introduzir e editar valores da mesma tabela. Após a edição da mesma o script redirecciona para a página da listagem com o datatable. Acontece que as alterações nunca ficam visiveis. Tenho de fazer control+f5 para as mesmas ficarem visiveis. Já tentei com php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); E também com as meta tags de HTML <meta http-equiv='cache-control' content='no-cache'> <meta http-equiv='expires' content='0'> <meta http-equiv='pragma' content='no-cache'> Mas continua sem dar. Desde já agradeço MCITP-MCTS-MCP
legd1991 Posted May 28, 2013 at 02:19 PM Report #509411 Posted May 28, 2013 at 02:19 PM Estás a fazer o refresh da tabela?
fil79 Posted May 28, 2013 at 02:21 PM Author Report #509412 Posted May 28, 2013 at 02:21 PM não, já procurei essa instrução na documentação e não encontro este é o codigo $(document).ready( function() { $('#dttabela').dataTable( { "iDisplayLength": 50, "bPaginate": false, "aaSorting": [[ 0, "asc" ]] } ); } ) MCITP-MCTS-MCP
legd1991 Posted May 28, 2013 at 02:27 PM Report #509413 Posted May 28, 2013 at 02:27 PM Estás a guardar os dados na base de dados antes de redireccionares?
HappyHippyHippo Posted May 28, 2013 at 04:34 PM Report #509442 Posted May 28, 2013 at 04:34 PM deixa-me fazer uma pergunta absurda: - por acaso não estás a dizer que estás a fazer refresh na página X após o envio dos dados na página Y, pois não ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
fil79 Posted May 28, 2013 at 04:41 PM Author Report #509446 Posted May 28, 2013 at 04:41 PM (edited) Estás a guardar os dados na base de dados antes de redireccionares? Sim os dados estão guardados. O problema é que que após o reencaminhamento não aparecem no datatable, acho que o problema é mesmo o cache do plugin, só aparece apos um refresh (control+f5) deixa-me fazer uma pergunta absurda: - por acaso não estás a dizer que estás a fazer refresh na página X após o envio dos dados na página Y, pois não ? Não estou a perceber a tua pergunta. passo a precisar o cenário: tenho o ficheiro index.php que lista a tabela. no ficheiro form.php (que envia para o ficheiro form_action.pho) tenho o formulario para adicionar dados. No ficheiro form_action executo o SQL, e e seguida através do header location envia de novo para o index. Após o redireccionamento a tabela continua igual ao que estava anteriormente. Faço control+f5 e só assim aparece o novo registo Edited May 28, 2013 at 04:43 PM by fil79 MCITP-MCTS-MCP
legd1991 Posted May 28, 2013 at 11:15 PM Report #509509 Posted May 28, 2013 at 11:15 PM Coloca a página do plugin para vermos como funciona esse plugin e para ver se tem alguma opção que influencie isso
fil79 Posted May 28, 2013 at 11:18 PM Author Report #509510 Posted May 28, 2013 at 11:18 PM http://www.datatables.net/ MCITP-MCTS-MCP
rumbafum Posted May 28, 2013 at 11:38 PM Report #509513 Posted May 28, 2013 at 11:38 PM Os dados são carregados com ajax? Se sim é provável que o browser cache o resultado da chamada ajax, principalmente se usas o IE. Para passares o problema da cache podes sempre acrescentar um parâmetro no url. Se os dados são carregados por ajax usa o parâmetro nesse url ou então em última instância faz um POST em vez de GET.
fil79 Posted May 28, 2013 at 11:42 PM Author Report #509514 Posted May 28, 2013 at 11:42 PM Os dados são carregados com ajax? Se sim é provável que o browser cache o resultado da chamada ajax, principalmente se usas o IE. Para passares o problema da cache podes sempre acrescentar um parâmetro no url. Se os dados são carregados por ajax usa o parâmetro nesse url ou então em última instância faz um POST em vez de GET. Os dados não são carregados com ajax MCITP-MCTS-MCP
rumbafum Posted May 28, 2013 at 11:59 PM Report #509516 Posted May 28, 2013 at 11:59 PM usa um parâmetro no url para o qual fazes o redirecionamento e verifica se tens o mesmo problema. Diria que colocares no php: header("Cache-Control:no-cache") devia ter funcionado
cusco Posted June 3, 2013 at 11:59 AM Report #510671 Posted June 3, 2013 at 11:59 AM Olá não tenho a certeza do que digo mas parece que o teu problema é algo pelo qual já passei. Queres alterar a tabela depois de ela já existir. Eu tenho num $.ajax() a criação de uma datatable, e o problema surge quando volto a chamar este .ajax e a datatable já existe uso assim: success: function(msg){ //console.log(msg); dataTable = document.getElementById('dataTable'); $(dataTable).empty(); tHead = "<thead><tr><th>Operador</th><th>Quantidade Chamadas</th><th>Tempo Médio p/ Chamada</th><th>Chamada mais longa</th><th>Chamada mais curta</th><th>Total em Chamada</th></tr></thead>"; $(dataTable).append(tHead); oTable = $(dataTable).dataTable({ // "aaSorting": [ [0,'asc'], [1,'asc'] ], "iDisplayLength": 50, "sPaginationType": "full_numbers", "bProcessing": true, "bRetrieve": true }); oTable.fnDestroy(); $.each( msg, function(index, value){ //console.log('teste: ' + value); //agentList.innerHTML += "\t<option>" + value.agent + "</option>\n"; $(dataTable).dataTable().fnAddData([value.agent,value.callNr,value.average,value.max,value.min,value.total]); //$(dataTable).append("\t<tr><td>"+value.agent+"</td><td>"+value.callNr+"</td><td>"+value.average+"</td><td>"+value.max+"</td><td>"+value.min+"</td><td>"+value.total+"</td></tr>\n"); }); dataTable.style.display = 'inline'; }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now