Javascript: TypeError: la Valeur n'est pas implémenter l'interface FormData
Je suis en train d'utiliser FormData pour envoyer des données via AJAX vers un script PHP.
Il ne semble pas y avoir de problème avec le type de saisie des valeurs de texte, mais lorsque j'essaie d'ajouter des fichiers, j'obtiens le message d'erreur TypeError: la Valeur n'est pas implémenter l'interface FormData.
Je suis nouveau sur le FormData, mais j'ai cherché sur le web et ne pouvais pas trouver toute la doc sur cette erreur.
Voici le formulaire :
<form id="item_form" class="item_form" enctype="multipart/form-data">
<div class="">
<label for="emp_photos">photos</label>
<input id="emp_photos" class="inputText" type="file" value="" name="emp_photos">
</div>
</form>
voici le Javascript :
var formData = new FormData();
formData.append('photos', $('#emp_photos').files[0]);
voici l'erreur que je reçois dans firebug :
TypeError: Value does not implement interface FormData.
...igger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},...
jquery....min.js (line 5)
Ce que je fais mal ?
EDIT: ajax partie
$.ajax({
type: 'POST',
url: '";
echo $_SESSION["url_base"];
echo "operations/add_employes',
data: formData,
xhr: function() { //custom xhr
myXhr = $.ajaxSettings.xhr();
if(myXhr.upload) { //check if upload property exists
myXhr.upload.addEventListener('progress',progressHandlingFunction, false); //for handling the progress of the upload
}
return myXhr;
},
success: function(msg) {/*...*/}
});
Où est votre appel ajax. Peut-on voir ça?
Cela semble être une bonne solution stackoverflow.com/questions/15259632/...
Ty Tim qui m'a aidé à résoudre 🙂
Cela semble être une bonne solution stackoverflow.com/questions/15259632/...
Ty Tim qui m'a aidé à résoudre 🙂
OriginalL'auteur Pascal montpetit | 2013-05-02
Vous devez vous connecter pour publier un commentaire.
comment "emp_photos[]" sera accessible en php backend
$_POST['emp_photos'] foreach ($_POST['emp_photos'] as $i => $valeur) { echo "emp_photos[$i] $valeur<br />"; }
ne devrait-elle pas être la variable $_FILES
qui pourrait fonctionner oui. désolé mon php n'est pas à jour.
OriginalL'auteur Tim Vermaelen