pl: Datenstrukturen aus Formulareingaben

Beitrag lesen

hallo

Dein Ansatz mit Array.from(form) liefert ein Array. Deswegen finde ich diesen Ansatz genau richtig. Und darauf bauend kann man recht einfach eine Struktur wie [{},{},{},,,] erzeugen indem man über die Formularelemente iteriert und so die Daten wie {name:..,value:..} und im Falle type=file weitere Informationen bekommt.

Nur mal so, wenn du denkst, eine JSON-ähnliche Struktur zu erzeugen, dann mündet das in Datenverlust, denn generell gehen alle JSON-Konvertierer davon aus, dass object-keys unique sind.

Unsinn. Der Weg über das Array funktioniert ausgezeichnet, da gibt es überhaupt keinen Datenverlust!

sowohl multipart/formdata wie www-urlencoded sind aber weder Arrays noch Hashes noch JSON data, sondern einfach flache Listen mit Label und assoziiertem Inhalt.

Was Du nicht sagst, Guten Morgen! Darüber reden wir doch die ganze Zeit, meine Güte 😉

Meine Datenstruktur sieht bspw. so aus:

$VAR1 = [
          '0' => {
                   'name' => 'foo',
                   'value' => 'bar'
                 },
          '1' => {
                   'name' => 'foo',
                   'value' => 'boo'
                 },
          '2' => {
                   'name' => 'red.gif',
                   'size' => '522',
                   'type' => 'image/gif',
                   'value' => 'GIF89a
                 }
]

Wie die serialisiert wird (was den Enctype betrifft) ist völlig egal! Stichwort Transparenz: JS-Array rein, Perl-Array raus.

Daß JSON oder XML nicht binary safe sind müssen wir hier nicht diskutieren oder?

MfG

0 184

Braucht noch wer jQuery?

Robert B.
  • javascript
  • jquery
  1. 1
    Rolf B
  2. 0
    Mitleser
    1. 0
      Robert B.
  3. 2
    klawischnigg
    1. 0
      Robert B.
    2. 1
      Henry
      1. 2
        Matthias Apsel
        • javascript
        1. 0
          Henry
          1. 1
            Robert B.
            1. 2
              JürgenB
      2. 0
        beatovich
        1. 1
          Henry
          • javascript
          • jquery
          • meinung
        2. 0
          Robert B.
          • javascript
          • jquery
          • menschelei
    3. 2
      pl
      1. 1
        klawischnigg
        1. 0
          pl
        2. 0
          marctrix
  4. 1
    JürgenB
  5. 7

    Ein gutes Wort für jQuery

    1unitedpower
    1. 0
      Rolf B
      1. 1
        1unitedpower
  6. 0
    pl
    1. 0
      dedlfix
      1. 0
        Christian Kruse
        1. 0
          dedlfix
          1. 0
            Christian Kruse
            1. 0
              dedlfix
              1. 0
                pl
                1. 0
                  dedlfix
                  1. 0
                    pl
                    1. 0
                      dedlfix
                      1. 0
                        pl
                        1. 0
                          Christian Kruse
                        2. 0
                          MudGuard
                        3. 0
                          dedlfix
                          1. -2
                            pl
                          2. 0
                            pl
                            1. 0
                              Robert B.
                              • menschelei
                              1. -1
                                pl
                                1. 0
                                  Matthias Apsel
                                2. 0
                                  Robert B.
                                  1. 0
                                    pl
                                    1. 4
                                      Christian Kruse
                                    2. 0
                                      Robert B.
                                      1. -1
                                        pl
                                        1. 0
                                          Matthias Apsel
                                        2. 0
                                          Robert B.
                                          1. 0
                                            Matthias Apsel
                                          2. 0
                                            pl
                                            1. 0
                                              Matthias Apsel
                                            2. 0
                                              Robert B.
                                              1. 0
                                                pl
                                            3. 1
                                              dedlfix
                                              1. 0
                                                pl
                                                1. 2
                                                  dedlfix
                                                  1. 0
                                                    pl
                                                    1. 1
                                                      Matthias Apsel
                                                      1. -1
                                                        pl
                            2. 0
                              Matthias Apsel
                              • meinung
                            3. 2
                              dedlfix
                        4. 0
                          JürgenB
                          1. 0
                            pl
                            1. 0
                              JürgenB
                              1. 0
                                pl
                                1. 1
                                  JürgenB
                                  1. 0

                                    jquery vs modern JS

                                    pl
                                    1. 2
                                      JürgenB
                                      1. 0
                                        pl
                        5. 0
                          Robert B.
                          • browser
                          • javascript
                          • jquery
                          1. 0
                            beatovich
                            1. 0
                              Robert B.
                              1. 0
                                beatovich
                                1. 1
                                  dedlfix
                                  1. 0
                                    beatovich
                                    1. 0
                                      dedlfix
                      2. 0
                        Matthias Apsel
                        1. 0
                          dedlfix
                          1. 0
                            Matthias Apsel
                            1. 0
                              dedlfix
          2. 0
            pl
      2. 0
        pl
        1. 0
          dedlfix
          1. 0
            pl
            1. 1
              dedlfix
              1. 0

                FromData toString und Kontextwechsel

                pl
                1. 4
                  dedlfix
                  1. 0
                    pl
                    1. 2
                      dedlfix
                      1. -1
                        pl
                        1. 1
                          dedlfix
                          1. 0
                            pl
                    2. 0

                      Typisch für OOP Overload

                      pl
                      1. 0
                        pl
                        • javascript
                        • jquery
                        • perl
                2. 2
                  Orlok
                  • programmiertechnik
                  1. 0
                    pl
                    1. 0
                      Matthias Apsel
                  2. 0
                    Robert B.
                    • javascript
                    • programmiertechnik
                    • python
                    1. 0
                      dedlfix
                      1. 0
                        Robert B.
                        1. 1
                          Christian Kruse
                        2. 1
                          dedlfix
                          1. 0
                            Robert B.
                            • menschelei
                            1. 0
                              dedlfix
                              1. 0
                                Robert B.
                                • menschelei
                                • python
                                1. 0
                                  dedlfix
                          2. 0
                            Robert B.
                            • c++
                            • javascript
                            • programmiertechnik
                            1. 2
                              Orlok
                          3. 0
                            Klaus Mennward
                            1. 0
                              dedlfix
                              1. 0
                                dedlfix
                            2. 0
                              Robert B.
                              • programmiertechnik
                              • python
                              1. 1
                                Rolf B
    2. 0
      pl
      1. 2
        dedlfix
        1. 0
          pl
          1. 4
            dedlfix
            1. 0
              pl
              1. 0
                dedlfix
                1. -1
                  pl
                  1. 0
                    dedlfix
                    1. 0
                      pl
                      1. 0
                        dedlfix
                        1. -1
                          pl
                          1. 3
                            Christian Kruse
                          2. 6
                            dedlfix
                            1. -3
                              pl
                              1. 4
                                dedlfix
                                1. -2
                                  pl
                                  1. 0
                                    dedlfix
                                    1. -1
                                      pl
                                      1. 2
                                        dedlfix
                                        1. 0
                                          pl
                                          1. 1
                                            Robert B.
                                            • menschelei
                                            • zu diesem forum
                                            1. 0
                                              pl
                                          2. 2
                                            dedlfix
                                            1. -2
                                              pl
                                              1. 2
                                                dedlfix
                                                1. -2
                                                  pl
                                                  1. 2
                                                    dedlfix
                                                    1. 1
                                                      Rolf B
                                                      1. 0
                                                        Matthias Apsel
                                                        1. 0
                                                          Christian Kruse
                                                          1. 0
                                                            Matthias Apsel
                                                            • menschelei
                                                      2. 0
                                                        pl
                                                        1. 3
                                                          dedlfix
                                                    2. 0

                                                      Framework und serialize

                                                      pl
                                                      1. 2
                                                        dedlfix
                                                        1. -1

                                                          Schlechter Programmierstil

                                                          pl
                                                  2. 3
                                                    Christian Kruse
                                            2. -1

                                              Datenstrukturen aus Formulareingaben

                                              pl
                                              1. 2
                                                dedlfix
                                                1. 0
                                                  pl
                                                  1. 0
                                                    dedlfix
                                                    1. -1
                                                      pl
                                                      1. 1
                                                        dedlfix
                                                        1. -2
                                                          pl
                                                          1. 0
                                                            beatovich
                                                            1. -1
                                                              pl
                                                          2. 1
                                                            Mitleser
                                                            1. 1
                                                              JürgenB
                                                              1. 0
                                                                pl
                                                            2. -1
                                                              pl
                                                              1. 2
                                                                Matthias Apsel
                                                                • meinung
                                                                • sonstiges
                                                                1. 0
                                                                  pl
                                                                  1. 0
                                                                    Matthias Apsel
                                                                    1. -1
                                                                      pl
                                                                    2. -1
                                                                      pl
                                                                      1. 0
                                                                        Matthias Apsel
                                                                        1. -1
                                                                          pl
                                                                          1. 1
                                                                            Christian Kruse
                                                          3. 3
                                                            dedlfix
                                                            1. -1
                                                              pl
                                                              1. 1
                                                                dedlfix
                                                                1. 0
                                                                  pl
                                                                  1. 1
                                                                    dedlfix
                                                                    1. -1
                                                                      pl
                                                          4. 1
                                                            Robert B.
                                                            • menschelei
                                                        2. 0
                                                          Matthias Apsel
                                                          • menschelei
                                              2. 0
                                                pl
                                              3. 0
                                                pl
  7. 1
    klawischnigg
    1. 0
      Robert B.
  8. 1
    marctrix
    • css
    • sass