Jump to content
Fórum Script Brasil
  • 0

Envio de variaveis utilizando ajax


rodolfo_soares

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...