Je possède ce petit script AJAX pour gérer un téléchargement de fichier:
$('body').on('change', '#uploadFile', function() {
// Post-Data
var data = new FormData();
data.append('file', this.files[0]);
//data.append('foo', 1);
// Ajax-Call
$.ajax({
url: "uploadUserpic.php",
data: data,
type: "POST",
processData: false,
contentType: false,
success: function(evt) {
$("#message").html(data);
}
});
});
Le fichier télécharger lui-même fonctionne, mais le message sur le succès (en #message
) non représenté. Pourquoi est-ce? Voici le petit script PHP pour le téléchargement:
$uploaddir = '../data/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
echo "File Upload OK.\n";
} else {
echo "Something went wrong\n";
}
Si le gestionnaire 'success' n'est pas touché, cela signifie que le code côté serveur ne renvoie pas' 200 OK 'réponse. Vérifiez l'onglet réseau de la console pour voir exactement quelle est la réponse de la requête et, espérons-le, déterminez la cause de l'erreur. –
Rien .... dans le réseau. – DragonStyle