Können Sie mir sagen, was daran falsch ist:
var formdata = new FormData();
formdata.append("key", "value");
console.log(formdata);
Meine Ausgabe sieht so aus, ich kann mein Paar "Schlüssel" - "Wert" nicht finden
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] }
Ich kann nicht verstehen! Gestern hat es so gut funktioniert und heute hat mein Kopf so oft die Tastatur abgestürzt! Firefox, Chrome, beide gleich: /
javascript
html
form-data
Netzaffin
quelle
quelle
Formdata.entries()
+Array.from()
+alert()
wenn es modern genug, oder Blick in mobile DebuggingSie sagen, es funktioniert nicht. Was erwarten Sie?
Es gibt keine Möglichkeit, die Daten aus einemFormData
Objekt herauszuholen . Es ist nur für Sie vorgesehen, um Daten zusammen mit einemXMLHttpRequest
Objekt (für diesend
Methode) zu senden .Update fast fünf Jahre später: In einigen neueren Browsern ist dies nicht mehr der Fall, und Sie können jetzt die bereitgestellten Daten anzeigen und
FormData
nur noch Daten hineinstecken. Weitere Informationen finden Sie in der akzeptierten Antwort .quelle
formdata
Objekt eine Datei befindet?Möglicherweise hatten Sie das gleiche Problem, das ich ursprünglich hatte. Ich habe versucht, mit FormData alle meine Eingabedateien zum Hochladen eines Bildes abzurufen, wollte aber gleichzeitig eine Sitzungs-ID an die an den Server weitergegebenen Informationen anhängen. Während dieser ganzen Zeit, dachte ich, wenn Sie die Informationen anhängen, können Sie sie auf dem Server sehen, indem Sie auf das Objekt zugreifen. Ich lag falsch. Wenn Sie an FormData anhängen, können Sie die angehängten Informationen auf dem Server durch eine einfache
$_POST['*your appended data*']
Abfrage überprüfen . wie so:js:
dann auf php:
quelle
Wenn Sie in Chrome sind, können Sie die Post-Daten überprüfen
Hier erfahren Sie, wie Sie die Post-Daten überprüfen
quelle
Sie können sehen, dass Sie es verwenden müssen
console.log(formData.getAll('your key'))
; Sehen Sie sich https://developer.mozilla.org/en-US/docs/Web/API/FormData/getAll anquelle
versuchen Sie es so, wie es sich zeigt
quelle
In meinem Fall im Edge-Browser:
gib mir den gleichen Fehler
Ich benutze es also nicht
FormData
und erstelle einfach manuell ein Objektquelle
Version reagieren
Stellen Sie sicher, dass Sie einen Header mit haben
'content-type': 'multipart/form-data'
Aussicht
quelle