Alert-spezifische element in [Objekt FormData] (zum testen)
Ich versuche, um zu sehen, welche Inhalte enthalten, die innerhalb einer [object FormData]
, und insbesondere in einem bestimmten element, dessen name sollte Name
. Ich möchte warnen, um zu überprüfen, ob der Inhalt korrekt ist, aber damit gibt undefined
:
alert(fd['Name']);
Ich bin mir ziemlich sicher, dass ich das laden der Daten in das Formular korrekt, so Frage ich mich, wenn das problem ist, dass ich Zugriff auf die Daten in der falschen Art und Weise...
PS Alarmierung nur fd
zurück [object FormData]
- Zeig mehr code, als auch den HTML-Code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
IvanZh teilte mir mit, dass dieser Ansatz nicht für ihn zu arbeiten, das mich dazu veranlasst, zu tun, einige der Forschung in die HTML5
FormData
Objekt. Wie es sich herausstellt, ich war völlig falsch über dieses (alte, falsche Antwort unten). Alle Daten, die fürFormData
befindet sich in native code. Das bedeutet, dass der browser verarbeitet die Daten für das Formular-Felder und Datei-uploads in der Sprache seiner Umsetzung.Zitieren MDN:
Es gibt keine Möglichkeit zur Darstellung dieser Informationen in JavaScript, so mein naiver Vorschlag einfach als JSON zu serialisieren, wird nicht funktionieren (das fordert mich zu Fragen, warum diese Antwort war akzeptiert in den ersten Platz).
Je nachdem, was Sie versuchen zu erreichen (zB. wenn Sie nur versuchen, das zu Debuggen), dann kann es machbar sein, einfach bounce diese Informationen aus einem server-side script zurückgibt, die entsprechenden JSON Metadaten. In PHP zum Beispiel könnten Sie senden Sie Ihre FormData
analyzeForm.php
, die leicht Zugriff auf alles, was, die Sie angefügt FormData unter der entsprechenden Anfrage superglobale. Das Skript würde verdauen den Inhalt Ihres Formulars und Rücksendung relevanten Informationen in leicht zu Parsen von JSON. Dies ist sehr ineffizient, so ist es wahrscheinlich nicht geeignet für Produktionsumgebungen, aber es ist etwas.Alte falsche Antwort:
Sie könnten versuchen, mit:
anzeigen eine textuelle Repräsentation der Struktur
fd
.Könnten Sie auch
console.log
, aber dies ist eine nicht-standard-Funktion und ist nicht garantiert in allen Browsern.{}
, so dass das, was Sie sehen.var fd = new FormData; fd.append('test', 123); alert(JSON.stringify(fd))
Benutzer Spokey setzte mich auf, um diese Technik mit jsFiddle hier, das war sehr praktisch, in der Lage zu "sehen" die Werte in ein formData-Objekt die grundlegende Logik sein:
Nur halten Sie den " Net " - tab öffnet sich in Firebug, und Sie werden in der Lage sein zu sehen, wie die Werte.
Sollten Sie tun:
Und in den meisten Browser, vor allem chrome öffnen Sie Developer tools (F12) und die Konsole sehen.
Erhalten Sie einen schönen erweiterbar Blick auf Ihr Objekt und Sie können überprüfen Sie es.