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.