Enviar información en variables por el método POST con Ajax [jQuery]

publicado por: Anonymous

Estoy usando JavaScript (jQuery), y necesito enviar ciertos datos almacenados en variables a un archivo .php en segundo plano, sin que el usuario tenga que rellenar ningún formulario y sin pulsar ningún botón.

Solución:

var datos = {
    "variable1" : variable1, // Dato #1 a enviar
    "variable2" : variable2 // Dato #2 a enviar
    // etc...
};

var url = "/ejemploArchivo.php"; // URL a la cual enviar los datos

enviarDatos(datos, url); // Ejecutar cuando se quiera enviar los datos

function enviarDatos(datos, url){
    $.ajax({
            data: datos,
            url: url,
            type: 'post',
            success:  function (response) {
                console.log(response); // Imprimir respuesta del archivo
            },
            error: function (error) {
                console.log(error); // Imprimir respuesta de error
            }
    });
}

Los datos de la variable datos, serán recibidos por el archivo de la url indicada en la variable global $_POST. Ejemplos $_POST['variable1'], $_POST['variable2']

solución

Por ejemplo teniendo un botón que al presionar enviará los datos de tus variables a una segunda página que procesará los datos tendriamos algo así.

Html

<input type="button" value="Guardar" id="btn_save">

Javascript

var var_1 = 'a',
  var_2 = 'b',
  var_3 = 'c',
  var_4 = 'd';

$(function() {

      $('#btn_save').on('click', function() {

          $.post('procesarDatos.php', {
              "var_1": var_1,
              "var_2": var_2,
              "var_3": var_3,
              "var_4": var_4
            },function(data) {
              console.log('procesamiento finalizado', data);
          });
      })

})

procesarDatos.php

<?
// con esto passa a las variables PHP los datos de las variables pasadas por
// post, luego que hagas funcionar tu script debes preocuparte de la seguridad
// de los datos que estás recibiendo en estas variables
$var_1 = $_POST["var_1"];
$var_2 = $_POST["var_2"];
$var_3 = $_POST["var_3"];
$var_4 = $_POST["var_4"];

La documentación de jQuery te entrega todos los detalles necesarios para que puedas modificar el código a tu conveniencia.
http://api.jquery.com/jquery.ajax/

Para temas de seguridad hay mucho en internet pero puedes empezar por lo básico con este post
https://www.imaginanet.com/blog/seguridad-en-php-basica-escribiendo-aplicaciones-web-seguras.html

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *