[AJAX] Envoyer photo en ajax
Bonjour,
J'aimerais avoir votre avis sur un problème qui m'a pris la tête toute la journée et que je n'ai finalement pas réussi à résoudre. Je souhaiterais envoyer une image en ajax. J'ai trouvé plusieurs thread avec cette même question mais je n'ai rien pu en tirer d'où ma requête.
Voici ce que je fais :
Mon formulaire html:
Code:
1 2 3 4
| <form id="form" class="form" enctype="multipart/form-data" accept-charset="UTF-8" action="http://localhost/test/test.php" method="POST">
<input type="file" name="avatar" />
<button type="submit">Valider</button>
</form> |
Mon code javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $('#form').submit(function(event){
event.preventDefault();
var data = new FormData();
data.append('avatar', $('[name="avatar"]')[0].files);
$.ajax({
url: 'http://localhost/test/test.php',
data: data,
contentType: false,
processData: false,
type: 'POST',
success: function(result){
console.log(result);
},
error: function(xhr, status){
console.log(xhr);
}
});
}); |
Et je n'arrive à rien récupérer côté php. La variable $_FILES est complètement vide. Ai-je oublié quelque chose ? Merci d'avance.