Maison >développement back-end >tutoriel php >Comment puis-je utiliser jQuery pour gérer les téléchargements de fichiers avec FormData ?
Téléchargement de fichiers à l'aide de la sérialisation jQuery
Lors de la soumission d'un formulaire avec des champs de téléchargement de fichiers à l'aide de la fonction Serialize() de jQuery, la récupération des données du fichier peut être stimulant. Contrairement à d'autres éléments de formulaire, les entrées de fichier ne peuvent pas être sérialisées en chaîne.
Pour contourner cette limitation, vous pouvez utiliser l'objet FormData. FormData fournit un moyen d'encoder les données d'un formulaire, y compris les fichiers, dans un format plus approprié pour la soumission.
Voici un extrait de code qui montre comment gérer le téléchargement de fichiers avec FormData :
$(document).on("submit", "form", function(event) { event.preventDefault(); $.ajax({ url: $(this).attr("action"), type: $(this).attr("method"), dataType: "JSON", data: new FormData(this), processData: false, contentType: false, success: function (data, status) { }, error: function (xhr, desc, err) { } }); });
Avec Avec cette approche, le constructeur FormData capture tous les éléments du formulaire, y compris les entrées de fichier. En définissant processData sur false et contentType sur false, jQuery ne tentera pas de sérialiser les données, permettant ainsi au navigateur de gérer correctement le téléchargement du fichier.
Côté serveur, les données du fichier sont accessibles via le Tableau superglobal $_FILES, comme il le ferait dans un scénario de téléchargement de fichier traditionnel.
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!