Saltar al contenido

Enviar array con solicitud ajax a php

Mercedes, parte de este staff, nos hizo el favor de crear este post ya que conoce perfectamente dicho tema.

Solución:

Puede pasar los datos al script PHP como un objeto JSON. Suponga que su objeto JSON es como:

var stuff ='key1':'value1','key2':'value2';

Puede pasar este objeto al código php de dos maneras:

1. Pasar el objeto como string:

Llamada AJAX:

$.ajax(
    type    : 'POST',
    url     : 'result.php',
    data    : result:JSON.stringify(stuff),
    success : function(response) 
        alert(response);
        
);

Puede manejar los datos pasados ​​al result.php como :

$data    = $_POST["result"];
$data    = json_decode("$data", true);

//just echo an item in the array
echo "key1 : ".$data["key1"];

2. Pasar el objeto directamente:

Llamada AJAX:

$.ajax(
    type    : 'POST',
    url     : 'result.php',
    data    : stuff,
    success : function(response) 
        alert(response);
        
);

Manejar los datos directamente en result.php de $_POST array como :

//just echo an item in the array
echo "key1 : ".$_POST["key1"];

Aquí sugiero el segundo método. Pero deberías probar ambos 🙂

Si quieres enviar key pares de valores, que es lo que estoy viendo, sería mejor usar una biblioteca PHP JSON (como esta … http://php.net/manual/en/book.json.php)

Entonces usted puede enviar real key pares de valores, usando formato JSON como… “ques_5” : “19”, “ques_4”: “19”

Prueba esto

var array = ["9", "ques_5", "19", "ques_4"];
console.log(array.join(","));

el código anterior generará string separados por comas como 9,ques_5,19,ques_4luego péguelo en la llamada ajax.

y luego en php explode que string.

Otras posibles soluciones.

Primero

var obj =  'item1': 'value1', 'item2': 'value2' ;

$.ajax(

    type:  'post', 
    cache:  false ,
    url:  'test/result.php',
    data:   result : JSON.stringify(obj) ,
    success: function(resp)
    
        alert(resp);
     
);

Segundo

var a = $.JSON.encode(obj);

$.ajax(

    type:  'post', 
    cache:  false ,
    url:  'test/result.php',
    data:   result : a ,
    success: function(resp)
    
        alert(resp);
     
);

In PHP File

Si conservas algún recelo o capacidad de progresar nuestro crónica puedes añadir una disquisición y con gusto lo observaremos.

¡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 *