À propos de FormData
XMLHttpRequest Level 2 a ajouté une nouvelle interface --- FormData
En utilisant l'objet FormData, vous pouvez simuler une série de contrôles de formulaire avec quelques paires de valeurs clés via JS. Vous pouvez utiliser la méthode Send () de XMLHttpRequest pour soumettre des formulaires de manière asynchrone. Par rapport à Ajax ordinaire, le plus grand avantage de l'utilisation de FormData est qu'il peut télécharger des fichiers binaires de manière asynchrone.
Objet formdata
L'objet FormData peut former une requête du nom et de la valeur de tous les éléments de formulaire et le soumettre à l'arrière-plan. L'utilisation d'objets FormData peut réduire la charge de travail de la requête de couture lors de la soumission à l'aide d'Ajax
QueryString est une chaîne de requête, la chaîne de requête HTTP provient de l'URL? La valeur suivante spécifie
Lorsque le formulaire sur la page envoie des données demandées à la page en mode Get (si les données contient des caractères dangereux, le navigateur les convertit d'abord en caractères hexadécimaux, puis les transmet, par exemple lorsque l'espace est converti en% 20), le serveur Web place les données demandées en une variable d'environnement appelée question_string. La méthode de demande.Querystring consiste à éliminer la valeur correspondante de cette variable d'environnement et à restaurer les caractères convertis en hexadécimal.
Télécharger des fichiers et des images à l'aide de FormData
Créez un objet vide FormData, puis ajoutez une clé / valeur à l'aide de la méthode d'ajout
var formdata = new formData (); formdata.append ("nom", "Zhang San");S'il y a déjà un formulaire de formulaire, obtenez l'objet de formulaire et passez-le dans l'objet FormData en tant que paramètre
<! Doctype html> <html> <éadf> <meta charset = "utf-8" /> <title> </ title> </ head> <body> <form name = "form1" id = "form1"> <entrée id = "file" type = "file" name = "name"> </put> </ form> <script type = "text / javascript"> var " form = document.getElementById ("form1"); var formdata = new formData (form); </cript> </ body> </html>Vous pouvez continuer à ajouter de nouvelles paires de valeurs clés en fonction des données de formulaire existantes.
var formdata = new formData (); formdata.append ("âge", "21");Télécharger des fichiers à l'aide d'objets FormData
var formdata = new formData ($ ("# form1"). [0]); // get File Method One // var formData = new FormData (); //formData.append("file ", $ (" # file ") [0] .files [0]); // Obtenir la méthode du fichier deux $ .ajax ({type: 'post', url: '#', data: formdata, cache: false, processData: false, // ne traite pas les données Send, car la valeur de données est un faux objet Formdata, aucun traitement des données n'est nécessaire. ne pas définir le succès de l'en-tête de demande de contenu: fonction () {} error: function () {}})Ce qui précède est la description complète de la méthode d'utilisation de FormData pour télécharger des fichiers et des images dans JS présentés par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, laissez-moi un message!