Saltar al contenido

anexando array a FormData y enviar a través de AJAX

Nuestros investigadores estrellas han agotado sus depósitos de café, por su búsqueda noche y día por la resolución, hasta que Lila encontró el hallazgo en Bitbucket por lo tanto ahora la compartimos aquí.

Solución:

También puede enviar un array a través de FormData Por aquí:

var formData = new FormData;
var arr = ['this', 'is', 'an', 'array'];
for (var i = 0; i < arr.length; i++) 
    formData.append('arr[]', arr[i]);

para que puedas escribir arr[] de la misma manera que lo hace con un simple formulario HTML. En el caso de PHP debería funcionar.

Puede encontrar útil este artículo: Cómo aprobar un array dentro de una consulta string?

Tienes varias opciones:

Conviértelo a un JSON stringluego analícelo en PHP (recomendado)

JS

var json_arr = JSON.stringify(arr);

PHP

$arr = json_decode($_POST['arr']);

O usa el método de @Curios

enviando un array a través de FormData.


No recomendado: serialice los datos con, luego deserialice en PHP

JS

// Use <#> or any other delimiter you want
var serial_arr = arr.join("<#>"); 

PHP

$arr = explode("<#>", $_POST['arr']);

Versión mecanografiada:

export class Utility       
    public static convertModelToFormData(model: any, form: FormData = null, namespace = ''): FormData  new FormData();
        let formKey;

        for (let propertyName in model) 
        return formData;
    

Usando:

let formData = Utility.convertModelToFormData(model);

Al final de todo puedes encontrar las explicaciones de otros desarrolladores, tú también tienes la opción de dejar el tuyo si te gusta.

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