Pouvez-vous me dire ce qui ne va pas avec ceci:
var formdata = new FormData();
formdata.append("key", "value");
console.log(formdata);
Ma sortie ressemble à ceci, je ne trouve pas ma paire «clé» - «valeur»
FormData
*__proto__: FormData
**append: function append() { [native code] }
***arguments: null
***caller: null
***length: 0
***name: "append"
***prototype: append
***__proto__: function Empty() {}
*constructor: function FormData() { [native code] }
**arguments: null
**caller: null
**length: 0
**name: "FormData"
**prototype: FormData
**toString: function toString() { [native code] }
*__proto__: Object
**__proto__: Object
**__defineGetter__: function __defineGetter__() { [native code] }
**__defineSetter__: function __defineSetter__() { [native code] }
**__lookupGetter__: function __lookupGetter__() { [native code] }
**__lookupSetter__: function __lookupSetter__() { [native code] }
**constructor: function Object() { [native code] }
**hasOwnProperty: function hasOwnProperty() { [native code] }
**isPrototypeOf: function isPrototypeOf() { [native code] }
**propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
**toLocaleString: function toLocaleString() { [native code] }
**toString: function toString() { [native code] }
**valueOf: function valueOf() { [native code] }
Je ne comprends pas! Hier, cela fonctionnait si bien, et aujourd'hui ma tête a heurté le clavier tant de fois! Firefox, Chrome, tous les deux identiques: /
javascript
html
form-data
netzaffin
la source
la source
Formdata.entries()
+Array.from()
+alert()
si c'est assez moderne, ou regardez dans le débogage mobileVous dites que ça ne marche pas. À quoi vous attendez-vous?
Il n'y a aucun moyen d'extraire les données d'unFormData
objet; il est simplement destiné à être utilisé pour envoyer des données avec unXMLHttpRequest
objet (pour lasend
méthode).Mise à jour près de cinq ans plus tard: dans certains navigateurs plus récents, ce n'est plus le cas et vous pouvez maintenant voir les données fournies
FormData
en plus de simplement y insérer des données. Voir la réponse acceptée pour plus d'informations.la source
formdata
objet contient un fichier?Vous avez peut-être eu le même problème que celui que j'avais au départ. J'essayais d'utiliser FormData pour récupérer tous mes fichiers d'entrée pour télécharger une image, mais en même temps, je voulais ajouter un identifiant de session aux informations transmises au serveur. Pendant tout ce temps, j'ai pensé qu'en ajoutant les informations, vous pourrez les voir sur le serveur en accédant à l'objet. J'avais tort. Lorsque vous ajoutez à FormData, la façon de vérifier les informations ajoutées sur le serveur est par un simple
$_POST['*your appended data*']
requête. ainsi:js:
puis sur php:
la source
Si vous êtes dans Chrome, vous pouvez vérifier les données de publication
Voici comment vérifier les données de publication
la source
vous pouvez le voir que vous devez utiliser
console.log(formData.getAll('your key'))
; regardez le https://developer.mozilla.org/en-US/docs/Web/API/FormData/getAllla source
essayez de cette façon, il montrera
la source
Dans mon cas sur le navigateur Edge:
donne moi la même erreur
Donc je n'utilise pas
FormData
et je construis juste manuellement un objetla source
Version de réaction
Assurez-vous d'avoir un en-tête avec
'content-type': 'multipart/form-data'
Vue
la source