Maison >interface Web >js tutoriel >Puis-je utiliser jQuery AJAX pour télécharger des fichiers, et comment ?

Puis-je utiliser jQuery AJAX pour télécharger des fichiers, et comment ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-25 04:53:14719parcourir

Can I Use jQuery AJAX to Upload Files, and How?

Puis-je utiliser jQuery Ajax pour télécharger des fichiers à l'aide de POST ?

Le téléchargement de fichiers via AJAX n'est pas possible avec le code jQuery fourni. Comme le suggère la réponse, vous ne pouvez pas télécharger de fichiers directement via AJAX.

Cependant, avec l'avènement de XHR2, les téléchargements de fichiers via AJAX sont devenus possibles à l'aide de l'objet FormData. Pour que cela fonctionne, vous devrez utiliser un navigateur prenant en charge FormData, tel que :

  • IE 10
  • Firefox 4.0
  • Chrome 7
  • Safari 5
  • Opéra 12

Voici comment modifier votre code pour utiliser FormData pour les téléchargements de fichiers :

var formData = new FormData();
formData.append('file', fileObject); // Replace 'fileObject' with your file input element

$.ajax({
    type: "POST",
    timeout: 50000,
    url: url,
    data: formData, // Use formData instead of dataString
    processData: false, // Prevents jQuery from converting formData to a string
    contentType: false, // Tells jQuery not to set any content type header
    success: function (data) {
        alert('success');
        return false;
    }
});

Dans ce code modifié, nous créons un objet FormData, y ajoutons le fichier et définissez processData et contentType sur false pour permettre à jQuery de gérer les données correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn