working serialize serializar not formulario form enviar datos campos javascript jquery api form-data

serialize - serializar datos javascript



Enviar un archivo con jQuery.ajax da TypeError (3)

Agregar estos parámetros a ajax resuelve el problema

$.ajax({ url: ''upload_ajax.php'', type: ''POST'', data: formData, contentType: false, processData: false,

Estoy tratando de enviar un archivo desde un formulario usando el método ajax de jQuery:

var ofile=document.getElementById(''image'').files[0]; var formdata = new FormData(); formdata.append("image",ofile); $.ajax({ url:''elements/save_elements'', data:formdata, type:''POST'' });

Esto da como resultado el error TypeError: ''append'' called on an object that does not implement interface FormData .

¿Qué causa este error? No ocurre en los formdata.append reales, pero dentro de jQuery.


Estaba teniendo el mismo problema con un código similar. Hay una gran escasez de información sobre este error, por lo tanto, dado que el OP no dio más detalles:

Con un poco de depuración me di cuenta de que el error estaba siendo lanzado por la llamada ajax en las profundidades de jquery, no el apéndice real. Resulta que olvidé agregar processData: false, contentType: false a la solicitud de ajax; Al hacerlo, se solucionó el problema.


Funciona bien cuando agrega lo siguiente al objeto ajax:

contentType: false, processData: false,

Por lo tanto, debería verse así:

$.ajax({ url:''elements/save_elements'', data:formdata, type:''POST'', contentType: false, processData: false, });