unserialize serialize formdata form data javascript jquery ajax form-data

formdata - serialize object javascript



FormData vs.serialize(), ¿Cuál es la diferencia? (2)

La principal diferencia desde el punto de vista de uso es que no puede serializar archivos, solo nombres de archivos ... el value de una entrada de archivo.

FormData otro lado, el objeto FormData también incluye archivos, si corresponde.

También serialize() funcionará en navegadores antiguos que no admiten la API FormData, por ejemplo, IE <10

referencia FormData docs

Recientemente estuve enviando un formulario utilizando AJAX.

Al investigar el mejor método, vi algunas presentaciones AJAX usando .serialize() y otras usando FormData . Por ejemplo.

Una presentación hizo esto:

data: form.serialize()

mientras que el otro hizo:

var formData = new FormData($(''form'')[0]); data: formData

Entonces, ¿cuál es la diferencia entre FormData y .serialize() ?


Una diferencia más importante es el tratamiento de los campos de entrada vacíos en los formularios.

serialize() solo contiene campos de entrada con un valor. Las casillas de verificación sin marcar o los campos de entrada vacíos faltarán en los pares clave / valor. Por lo tanto, el backend de su aplicación tendrá que hacer un poco de contabilidad para interpretar las claves faltantes como valores vacíos.

FormData le dará una lista completa de todos sus campos de formulario y sus valores. Incluso si están vacíos.