Maison > développement back-end > tutoriel php > Comment soumettre un formulaire de téléchargement de fichier à l'aide de jQuery Ajax ?

Comment soumettre un formulaire de téléchargement de fichier à l'aide de jQuery Ajax ?

Susan Sarandon
Libérer: 2024-12-11 07:58:11
original
489 Les gens l'ont consulté

How to Submit a File Upload Form Using jQuery Ajax?

Téléchargement de fichiers à l'aide de la sérialisation jQuery

Vous soumettez un formulaire via Ajax à l'aide de la fonction de sérialisation jQuery. Cependant, vous rencontrez des problèmes lorsque le formulaire inclut un champ. Les données du formulaire sérialisé n'incluent pas le fichier et l'impression de $_FILES donne un résultat vide.

Solution : Utilisation de l'objet FormData

Pour résoudre ce problème, vous pouvez utiliser l'objet FormData. Il est compatible avec tout type de formulaire, y compris ceux avec des entrées de fichier. Voici comment l'implémenter :

$(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) {
            
        }
    });        
});
Copier après la connexion

En utilisant l'objet FormData, vous pouvez transmettre le fichier avec d'autres données de formulaire dans la requête Ajax. Les options processData et contentType sont définies sur false pour empêcher jQuery de gérer les données et le type de contenu et permettre au navigateur de gérer correctement la soumission du formulaire.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal