Teste a action antes de passar ela para o javascript, tente acessar a url que seria enviada para o ajax com um valor manual.
Quando você obter um resultado direto pela url, ai você parte para o js fazendo testes do botão primeiramente vendo se ele retorna um simples alert e quando for debugar o retorno do ajax, veja se a url é a mesma que você usou no acesso direto.
2015-04-06 15:02 GMT-03:00 michel martins <michelmfreitas@gmail.com>:
Olá pessoal, tudo blz?--Bom, há pouco tempo comecei a trabalhar com cakephp e estou com uma dúvida ao gerar dados para exportação em uma tabela CSV para excel.Criei as view e controllers, e estou utilizando a classe https://github.com/FriendsOfCake/cakephp-csvview .Mas, quando clico, não acontece nada. O que pode estar errado no processo?
//função ajax para capturar o click, jogar no método PHP e retornar o link da planilha para download.
$(function(){$("#botoes button").click(function(){var botao = $(this).attr('data-download');$.ajax({url:webroot('leads/Leads/export'),type:'post',data:{tipo: botao},success:function(r){$("#botoes button [data-download="+botao+"]").removeClass('btn-danger');$("#botoes button [data-download="+botao+"]").addClass('btn-success');$("#botoes button [data-download="+botao+"]").val('Download');},error:function(){console.log('erro');}});});});
No método:
public function export(){$dados = $this->param('tipo');$this->loadModel('CadastroMailing');$conditions = array('OR'=>array('cadastro_mailing_tipo_id'=>$dados));$result = $this->CadastroMailing->find('all',array( 'conditions'=>$conditions , 'order'=>array('nome ASC')));$_serialize = 'result';$this->viewClass = 'CsvView.Csv';$this->set(compact('data', '_serialize'));}
Gostaria que o download iniciasse automaticamente após o clique, mas caso tenha que clicar no botão também resolve meu problema.Podem me ajudar?
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.
Att,
Keldnner Bader(41) 9848-0746
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment