Como passar uma variavel de grande tamanho via AJAX ?
25/07/2016
0
Não consegui achar nada que resolve-se meu problema,
Eu tenho um editor de texto em minha aplicação, é um editor Summernote onde funciona como o Word e etc. Agora preciso fazer com que meu sistema pegue todo o conteudo que o usuario digitou e formatou e jogue em uma pagina PHP, onde la, eu tenho um código que gera o PDF.
O problema é que o mPDF que estou trabalhando, só gera o PDF se o conteudo estiver numa variavel PHP, até ai tudo bem, eu passo a variavel via AJAX, e pego no PHP, porém, o texto pode ser muito grande, e conter 5mil caracteres ou mais, pq toda a formatação feita pelo editor, é transformada em HTML, incluindo todos os codigos HTML tornando a variavel maior que o conteudo do texto. quando a variavel chega no PHP, o mPDF gera apenas uma parte do texto. dai persebi a limitação dos dados via POST ou GET.
Como posso resolver meu problema ? pensei em gerar um arquivo TXT quando o usuario clicar no botao imprimir, e depois abri-lo via PHP, porem o javascript é cliente-side e nao grava no diretorio da minha aplicação na web.
var editor = $('#RelatorioEditor').code(); //Aqui contem mais de 5mil caracteres
$.ajax({
url : 'Conf_editor.php',
type : 'GET',
data: 'VarConsulta=GERAR_ARQUIVO&Conteudo='+editor,
dataType: 'json',
success: function(data){
window.document.location = "gerar_pdf.php";
}
});
Fernando Alves
Posts
25/07/2016
Raylan Zibel
25/07/2016
William
De uma olhada nas configurações no php.ini via POST, deve estar para 2 MB.
25/07/2016
Fernando Alves
Acabei resolvendo de outra forma,
Na verdade, não era o limite via POST que estava ocorrendo, e sim um conflito de caracteres especiais. Pois como eu estava passando uma pagina de códigos em HTML via AJAX, quando tinha um comando de "espaço" que em HTML é o comando "& q u o t" então o AJAX entendia que o "&" era um separador de elementos POST, por isso só chegava parte do texto HTML no outro lado do PHP. Então eu fiz o seguinte:
Tratando a variavel com replace no JAVASCRIPT:
E para voltar com o comando novamente, eu troco pelo replace do PHP desta vez dentro do PHP:
Tratando a variavel com replace no PHP:
Agradeço pela dica de vocês,
Abraços!
Clique aqui para fazer login e interagir na Comunidade :)