Maison interface Web tutoriel HTML Introduction détaillée à l'objet FormData en HTML

Introduction détaillée à l'objet FormData en HTML

Dec 02, 2017 pm 03:06 PM
formdata html 介绍

Aujourd'hui, je vais vous donner une introduction détaillée à l'objet FormData. Créons un objet FormData à partir de zéro, puis ajoutons des valeurs clés à l'objet via la méthode append(). Veuillez voir le cas

var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to a string "123456"
// HTML file input, chosen by user
formData.append("userfile", fileInputElement.files[0]);
// JavaScript file-like object
var content = &#39;<a id="a"><b id="b">hey!</b></a>&#39;; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});
formData.append("webmasterfile", blob);
var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
Copier après la connexion
Remarque : Les champs "userfile" et "webmasterfile"

contiennent tous deux le fichier (fichier). Le numéro attribué au champ "accountnum" est directement converti en string par la méthode FormData.append() (la valeur du champ peut être un Blob, un File, ou une chaîne : si la valeur est les deux S'il ne s'agit pas d'un Blob ou d'un Fichier, la valeur sera convertie en chaîne).

Cet exemple crée une instance FormData contenant les champs "username", "accountnum", "userfile" et "webmasterfile", puis utilise la méthode send() de l'objet XMLHttpRequest pour envoyer les données du formulaire. Le champ « webmasterfile » est un Blob. Un objet Blob représente les données brutes d'un objet fichier. Mais les données représentées par Blob ne doivent pas nécessairement être des données au format JavaScript natif. L'interface de fichier est basée sur Blob, héritant de la fonctionnalité Blob et étendant sa prise en charge des

systèmes de fichiers des utilisateurs. Pour construire un Blob, appelez le constructeur Blob().

Obtenir un objet FormData à partir d'un

formulaire HTML

Afin d'obtenir un objet FormData contenant des données de formulaire existantes, vous devez spécifier l'élément de formulaire lors de la création de l'objet FormData .

var formData = new FormData(someFormElement);
Copier après la connexion
Comme ceci :

var formElement = document.querySelector("form");
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
request.send(new FormData(formElement));
Copier après la connexion
Vous pouvez également ajouter des données supplémentaires après avoir obtenu l'objet FormData, comme ceci :

var formElement = document.querySelector("form");
var formData = new FormData(formElement);
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
formData.append("serialnumber", serialNumber++);
request.send(formData);
Copier après la connexion
De cette façon, vous pouvez ajouter informations complémentaires avant envoi, pas nécessairement éditées par l'utilisateur.

3. Utilisez l'objet FormData pour envoyer des fichiers

Vous pouvez utiliser FormData pour envoyer des fichiers. Un simple
contient juste un élément  :

<form enctype="multipart/form-data" method="post" name="fileinfo">
  <label>Your email address:</label>
  <input type="email" autocomplete="on" autofocus name="userid" placeholder="email" required size="32" maxlength="64" /><br />
  <label>Custom file label:</label>
  <input type="text" name="filelabel" size="12" maxlength="32" /><br />
  <label>File to stash:</label>
  <input type="file" name="file" required />
  <input type="submit" value="Stash the file!" />
</form>
<div></div>
Copier après la connexion
Vous pouvez ensuite utiliser le code suivant pour envoyer :

var form = document.forms.namedItem("fileinfo");
form.addEventListener(&#39;submit&#39;, function(ev) {
  var oOutput = document.querySelector("div"),
      oData = new FormData(form);
  oData.append("CustomField", "This is some extra data");
  var oReq = new XMLHttpRequest();
  oReq.open("POST", "stash.php", true);
  oReq.onload = function(oEvent) {
    if (oReq.status == 200) {
      oOutput.innerHTML = "Uploaded!";
    } else {
      oOutput.innerHTML = "Error " + oReq.status + " occurred when trying to upload your file.<br \/>";
    }
  };
  oReq.send(oData);
  ev.preventDefault();
}, false);
Copier après la connexion

<br/>

Vous pouvez également ajouter un fichier ou un blob directement à l'objet FormData, comme ceci :

<br/>
Copier après la connexion
data.append("myfile", myBlob, "filename.txt");

Lors de l'utilisation de la méthode append(), le troisième paramètre peut être utilisé pour envoyer le nom du fichier (envoyé au serveur via l'en-tête Content-Disposition). Si le troisième paramètre n'est pas spécifié ou n'est pas pris en charge, la valeur par défaut du troisième paramètre est « blob ».

<br/>

Si vous définissez les bonnes options, vous pouvez également l'utiliser avec jQuery :

var fd = new FormData(document.querySelector("form"));
fd.append("CustomField", "This is some extra data");
$.ajax({
  url: "stash.php",
  type: "POST",
  data: fd,
  processData: false,  // tell jQuery not to process the data
  contentType: false   // tell jQuery not to set contentType
});
Copier après la connexion
Je pense que vous l'avez maîtrisé après avoir lu ces cas. Méthode, pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web php chinois !

Lecture connexe :

Étapes de mise en œuvre de l'utilisation de Js pour faire fonctionner les cookies HTTP

Introduction détaillée au modèle objet de nomenclature d'exploitation Js

Quelle est la différence entre div et span dans la mise en page d'une page Web HTML

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bordure de tableau en HTML Bordure de tableau en HTML Sep 04, 2024 pm 04:49 PM

Guide de la bordure de tableau en HTML. Nous discutons ici de plusieurs façons de définir une bordure de tableau avec des exemples de bordure de tableau en HTML.

Tableau imbriqué en HTML Tableau imbriqué en HTML Sep 04, 2024 pm 04:49 PM

Ceci est un guide des tableaux imbriqués en HTML. Nous discutons ici de la façon de créer un tableau dans le tableau ainsi que des exemples respectifs.

Marge gauche HTML Marge gauche HTML Sep 04, 2024 pm 04:48 PM

Guide de la marge HTML gauche. Nous discutons ici d'un bref aperçu de la marge gauche HTML et de ses exemples ainsi que de son implémentation de code.

Disposition du tableau HTML Disposition du tableau HTML Sep 04, 2024 pm 04:54 PM

Guide de mise en page des tableaux HTML. Nous discutons ici des valeurs de la mise en page des tableaux HTML ainsi que des exemples et des résultats en détail.

Espace réservé d'entrée HTML Espace réservé d'entrée HTML Sep 04, 2024 pm 04:54 PM

Guide de l'espace réservé de saisie HTML. Nous discutons ici des exemples d'espace réservé d'entrée HTML ainsi que des codes et des sorties.

Déplacer du texte en HTML Déplacer du texte en HTML Sep 04, 2024 pm 04:45 PM

Guide pour déplacer du texte en HTML. Nous discutons ici d'une introduction, du fonctionnement des balises de sélection avec la syntaxe et des exemples à implémenter.

Liste ordonnée HTML Liste ordonnée HTML Sep 04, 2024 pm 04:43 PM

Guide de la liste ordonnée HTML. Ici, nous discutons également de l'introduction de la liste et des types HTML ordonnés ainsi que de leur exemple respectivement.

Bouton HTML onclick Bouton HTML onclick Sep 04, 2024 pm 04:49 PM

Guide du bouton HTML onclick. Nous discutons ici de leur introduction, de leur fonctionnement, des exemples et de l'événement onclick dans divers événements respectivement.

See all articles