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

Envio de variaveis utilizando ajax


rodolfo_soares

Pergunta

Senhores(as),

trabalho com teste de software, e sempre tenho dificuldade em criar codigos, vou descrever meu problema:

tenho um código onde preciso fazer o envio de uma variavel de JS para PHP onde gero um PDF.

ao enviar a variavel por URL esta funcionando legal, porem como a variavel pode chegar a mais de 33mil caracteres esta estourando a URL.

pesquisei alguns exemplos para utilizar post para resolvar o problema, mas a o php não consegue pegar a resposta.

o codigo pega o valor de uma div e envia para o servidor.

Segue o codigo do script:

//função que envia parametros para o php foi tirado o envio por url porque dava erro de tamanho                
                                function envia() { 
                                    ajax = iniciaAjax(); 
                                    alert('f1');
                                        if(ajax) { 
                                            alert('10000000');
                                            imprimir();
                                            alert('2');
                                        } 
                                        else{ 
                                            alert("O Ajax não funcionou corretamente"); 
                                        } 
                                } 
                                
                //funcao que inicializa o ajax para envio de variavel para o servidor                
                                function iniciaAjax() { 
                                    var req; 
                                    try {req = new ActiveXObject("Microsoft.XMLHTTP");} 
                                    catch(e){ 
                                    try {req = new ActiveXObject("Msxml2.XMLHTTP");} 
                                    catch(ex){    
                                    try {req = new XMLHttpRequest();} 
                                    catch(exc) { 
                                        alert("Esse browser não tem recursos para uso do Ajax!"); 
                                        req = null; 
                                    } 
                                    } 
                                    } 
                                        return req; 
                                }
                                
                //abre a pagina de impressao php
                                function imprimir(){
                                    window.open('imprimir.php', new Date().getTime(),'width=460,height=355,top=0,left=0');
                                }
                                
                //pega conteudo de uma div e salva em um campo invisevel                
                                function carregar() {
                                    var frase = document.getElementById('desktop').innerHTML;
                                    document.getElementById('dados').value = frase;
                                    alert("Esta string possui " + frase.length + " caracteres.");
                                    envia();
                                }
criação do campo hidden para receber o valor e botão que chama a função
<a href="#" title="Abrir" onClick="carregar()"><img src="images/open.png" alt="Abrir"/></a>

<form>
        <input type="hidden" value="" id="dados" name="dados_enviar" />
        </form>
a leitura do lado do server imprimir.php
<?php
require_once("dompdf/dompdf_config.inc.php");

$hh = $_POST['dados_enviar'];

$html = '
<html>
<head>ss</head>
<style>
h1 {color:#333; size:20px; margin-bottom:5px;}
h3 {color:#222;}
</style>
<body> 

<h1>Teste</h1>
<h3>Impresso.</h3>

</body>
</html>';

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('letter', 'landscape');
$dompdf->render();
$dompdf->stream("exemplo-01.pdf");
?>

se possivel passarem algum caminho a seguir, agradeço.

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...