jQuery FileUpload ne déclenche pas "terminé"
- Je utiliser jQuery-File-Upload plugin. J'ai écrit un code simple pour le tester et il fonctionne, mais pas sans problèmes. Il ne déclenche done
, même si le fichier est téléchargé et la barre de progression atteint sa fin.
Voici le code:
$('#file_file').fileupload({
dataType: 'json',
autoUpload: true,
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
},
done: function (e, data) {
alert('Done');
}
});
Mon entrée est aussi simple que cela:
<input type="file" id="file_file" name="file[file]" />
Vous devez vous connecter pour publier un commentaire.
Si votre serveur n'est pas le retour JSON, essayez de supprimer:
Sinon, vous pouvez peut-être se retrouver avec un "fail", qui est facile à tester:
J'ai changé quelques choses et il fonctionne. Ici:
add
de rappel.J'ai réparé avec autoUpload: vrai, ça ressemble quand la autoUpload propriété n'est pas définie (même si l'upload fonctionne comme prévu) le fait de l'événement n'est pas déclenché.
Essayer cette Option de Rappel comme décrit dans la documentation:
C'est sûr qu'il fonctionne pour moi.
Expérimenté aujourd'hui! Si vous utilisez PHP, assurez-vous que votre
uploadhanler
fichier PHP n'affiche pas d'erreur ou d'avertissement. Il crée une mauvaise sortie JSON et lorsque votre fichier est téléchargé, le plugin ne peut pas envoyer un bonne JSON tampon avec fait événement.Pour les erreurs de suivi sur votre fichier PHP, il est préférable d'écrire un fichier journal au lieu d'afficher les erreurs sur les scripts de ce genre. Vous pouvez utiliser:
Mais NE PAS OUBLIER pour ajouter de suivi des erreurs dans un fichier journal. Bien sûr !
je suis en utilisant multer, multer-azure-de stockage et de blueimp-file-upload. le tout, servi à partir de unpkg.com. ci-dessous est un multiple upload de fichier avec le fait déclencheur. travail d'10/22/17.
fichier js:
html de la page, servi à partir de l'express:
//OBTENIR /mon-listes/modifier/propriété[id]/galerie
//POST /mon-listes/modifier/propriété[id]/galerie
fonctionne parfaitement pour moi;
différences sont
l'url est définie (j'espère que vous avez juste oublié de le mettre dans votre extrait ici);
la façon dont je ajouter un fichier de la file d'attente de téléchargement
séquentielle télécharger (?)
edit :
https://github.com/blueimp/jQuery-File-Upload/wiki/Options
quelque part dans votre code, vous pourriez avoir aussi changé ces ajax paramètres; de toute façon qui dit que si vous avez vos paramètres de droit, car il rend l'utilisation de $.ajax le fait ne peut pas être déclenché