Ir para conteúdo
Fórum Script Brasil
  • 0

Iniciar download com retorno de Ajax automaticamente


Ricardo Machado

Pergunta

Olá, estou desenvolvendo uma aplicação SIG com java web; que tem entre suas característica o uso de Ajax para fazer requisições no servidor Java. Existe uma funcionalidade de plotar gráficos em que é feita uma requisição (via Ajax) para servidor o qual retorna um JSONArray para ser processado na "view" pelo JavaScript e então gerar o gráfico. Até este ponto está tudo ok, o detalhe, é que eu pretendo reutilizar esse retorno para uma segunda funcionalidade, pois após a plotagem dos gráficos existe a possibilidade de exportar (criar e iniciar o download de um arquivo Excel) esses dados para o usuário. A primeira ideia era fazer uma requisição via GET para o servidor e este retornar o arquivo e então inicia o download automaticamente. Neste caso eu tenho um problema pois não consigo enviar como parâmetro JSONArray que pode ter grande quantidade de dados e o GET "até onde sei" possui uma limitação no tamanho de seus parâmetros. Via POST já não tenho esse problema de enviar meus parâmetros, porém, ao receber meu retorno (um arquvo .xls) não consigo iniciar o download do mesmo para o usuário. Segue trecho do código abaixo, qualquer sugestão é bem vinda.

    $("#btnExportarResultados").click(function() {        
        $.post("/SIG/exportar_dados", {          
            dados: '${resultados}'
        }, function(data, status) {
             //AQUI NÃO CONSIGO INICIAR O DOWNLOAD AUTOMATICAMENTE
        });
    });

@RequestMapping(value = {"/exportar_dados"}, method = RequestMethod.POST)          
    public String exportarDados(@RequestParam(value = "dados", required = true, defaultValue = "0") JSONArray dados, HttpServletRequest request, HttpServletResponse response) throws WriteException, IOException, RowsExceededException, JSONException {
    
 this.iniciaDownload(response, dados);        
 return "redirect:/";
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...