Saltar al contenido

Cómo pasar multidimensional array con la publicación Jquery AJAX?

Queremos brindarte la mejor información que hemos encontrado on line. Queremos que te resulte de ayuda y si puedes comentarnos algo que nos pueda ayudar a mejorar siente la libertad de hacerlo..

Solución:

Jquery tomará matrices multidimensionales directamente, sin necesidad de serializar.

var data = 
  foo:  123,
  bar:  456,
  rows: [
    
      column1 : 'hello',
      column2 : 'hola',
      column3 : 'bonjour',
    ,
    
      column1 : 'goodbye',
      column2 : 'hasta luego',
      column3 : 'au revoir',
    ,
  ],
  test1:
    test2: 
      test3:  'baz'
    
  
;

_Los datos de publicación en su archivo PHP se verían así

Array
   (
    [foo] => 123
    [bar] => 456
    [rows] => Array
        (
            [0] => Array
                (
                    [column1] => hello
                    [column2] => hola
                    [column3] => bonjour
                )

            [1] => Array
                (
                    [column1] => goodbye
                    [column2] => hasta luego
                    [column3] => au revoir
                )

        )

    [test1] => Array
        (
            [test2] => Array
                (
                    [test3] => baz
                )

        )

    )

Una vez que defina sus datos multidimensionales arraysu Ajax podría ser tan simple como

$.ajax(
          type:           'post',
          cache:          false,
          url:            './ajax.php',
          data:           data
      );

Si tu publicación array puede tener campos que no conoce, puede acceder a su publicación array en su archivo php fácilmente con

$data = file_get_contents('php://input');
$data = json_decode($data, true);

No encontré ninguna buena solución, así que resolví esto usando JSON.stringify();
aquí está mi código

Lado del cliente :

var data = a:'foo':'bar',b:'this':'that';
$.ajax( url        : '/',
         type       : 'POST',                                              
         data       : 'data':JSON.stringify(data),
         success    : function() 
       );

Lado del servidor:

$data = json_decode($_POST['data']);
print_r($data);
// Result:
// Array( "a" => Array("foo"=> "bar"), "b" => Array("that" => "this"))

Reseñas y valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *