ajax formdata : Illégal invocation
J'essaie de faire de script ajax pour charger pour Symfony 2. Chrome retourne cette erreur:
Uncaught TypeError: Illégal invocation jquery.min.js:4
Je pense que c'est dû à la FormData
objet n'est pas correctement construites (j'ai essayer le script avec .serialized()
:
$(document).ready(function() {
$('#formImage').submit(function(event) {
event.preventDefault();
//appel Ajax
alert("ajax");
var input = document.getElementById("rasta_blogbundle_imagetype_file");
console.log(input);
var formdata = false;
if (window.FormData) {
formdata = new FormData();
console.log('formdata initialized ...');
}
else{
console.log('formdata not supported');
}
formdata.append('name',$('#rasta_blogbundle_imagetype_name').val());
console.log(formdata);
formdata.append('file',input);
formdata.append('_token',$('#rasta_blogbundle_imagetype__token').val());
console.log(formdata);
//alert(DATA);
if (formdata){
$.ajax({
url: $(this).attr('action'), //le nom du fichier indiqué dans le formulaire
type: $(this).attr('method'), //la méthode indiquée dans le formulaire (get ou post)
cache: false,
//data : $(this).serialize(),
data: formdata ,
success: function(data) { //je récupère la réponse du fichier PHP
$('#myModal').html(data);
console.log('ok');
}
//return false; //
});
}
});
});
Vous devez vous connecter pour publier un commentaire.
jQuery tente de transformer votre objet FormData à une chaîne, ajoutez ceci à votre $.appel ajax:
il se produit parfois lorsque jquery en interne pas sérialiser les données correctement les données pour le fixer ajouter ce.