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,
});