0 votos
por (40 puntos) en Javascript

Hola tengo este formulario que llama a una funcion JS, las variables se pasan por GET
 

<input type="hidden" for ="dni" id="dni" name="dni" value="<? echo $dni;?>">

       <input type="hidden" for="entrenador" id="entrenador" name="entrenador" value="<? echo $entrenador;?>">

      <input type="hidden" for ="idbono" id="idbono" name="idbono" value="<? echo $idbono;?>">

        <? ///////////////////////////////////////////////////////////////////////////// ?>

          <button type="button" class="button clear" data-action="clear">Clear</button>

          <button type="button" class="button" data-action="change-color">Change color</button>

          <button type="button" class="button" data-action="undo">Undo</button>

        </div>

        <div>

          <button type="button" class="button save" id="bt-save" >Enviar</button>

La funcion que llama es: 
 

document.getElementById('bt-save').onmouseup = sendToServer;

function sendToServer() {

    var data = canvas.toDataURL('image/png');

    var xhr = new XMLHttpRequest();

    xhr.onreadystatechange = function() {

      // request complete

      if (xhr.readyState == 4) {

        window.open('snapshots/'+xhr.responseText,'_blank');

      }

    }

     xhr.open('POST','snapshot.php?dni=VARIABLE',true);

    xhr.setRequestHeader('Content-Type', 'application/upload');

    xhr.send(data);

  }

   Necesito que guarde la variable DNI por ejemplo y la pase con un GET en la url = snapshot.php?dni=VARIABLE

1 Respuesta

0 votos
por (1.8k puntos)

El segundo parámetro de xhr.open es un string, con lo cual puede formarse de la forma que creas conveniente, por ejemplo:

'snapshot.php?dni=' + valor

Valor puede salir de dos lugares básicamente:

  1. Del contenido del input correspondiente 

    • 'snapshot.php?dni=' + document.getElementById('dni').value
  2. Del php (si es que lo sabes de antemano)

    • 'snapshot.php?dni=<?php echo $dni; ?>
Lo importante aquí es comprender que se trata de dos tiempos de ejecución diferentes.
Si lo haces en JavaScript el valor del DNI se conocerá recién cuando el cliente lo ejecute en su navegador.
Si lo haces en PHP el valor se conocerá al momento de generar el HTML que luego será enviado al cliente.
Eso significa que, si miras el código JS de tu sitio verás algo como:
'snapshot.php?dni=123456'
por (40 puntos)
Gracias me sirvio lo que me comentastes! gracias
por (1.8k puntos)
Excelente! ¿Me ayudarías poniéndole un punto positivo a la respuesta?
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...