URL mit Javascript-Arrays
Tobias Klein
- php
Hallo,
ich möchte Javascript-Arrays an ein PHP-Script übergeben. Dazu muss ich also zunächst aus den Arrays die URL mit den angehängten Parametern generieren. Nun mein Problem: Wenn ich die Arrays direkt "an die URL dranhänge" (z.B. url += '&name=' + array;) dann kommen die Arrays als kommaseparierter String im PHP-Script an, was ich aber nicht will. Ich möchte das gleiche Ergebnis haben wie nach dem Submit eines Formulars (wo mehrere Inputs den gleichen Namen (input name='test[]') haben und als echtes Array im PHP-Script ankommen). Lässt sich das irgendwie "simulieren"? Der Zusammenbau der URL kann ja eigentlich nicht so schwer sein?! :-)
MfG,
Tobias.
hi,
ich möchte Javascript-Arrays an ein PHP-Script übergeben.
Also möchtest du den Inhalt eines Arrays auf einen String abbilden. Das nennt man auch serialisieren.
Dazu muss ich also zunächst aus den Arrays die URL mit den angehängten Parametern generieren. Nun mein Problem: Wenn ich die Arrays direkt "an die URL dranhänge" (z.B. url += '&name=' + array;) dann kommen die Arrays als kommaseparierter String im PHP-Script an, was ich aber nicht will.
Wenn da überhaupt irgendwas halbwegs sinnvolles ankommt, hast du noch Glück gehabt. Den Inhalt eines JS-Arrays auszugeben, in dem du string += array schreibst, ist eigentlich Unfug.
Ich möchte das gleiche Ergebnis haben wie nach dem Submit eines Formulars (wo mehrere Inputs den gleichen Namen (input name='test[]') haben und als echtes Array im PHP-Script ankommen). Lässt sich das irgendwie "simulieren"?
Wenn du weißt, dass es mit dem Namen "test[]" von Formularfeldern aus klappt - dann weißt du doch wohl auch schon, was du mit deinen Array-Werten zu tun hast: Genau das gleiche.
?array[]=wert1&array[]=wert2&...
Wenn du Wert auf bestimmte Indices legst - oder gar assoziative Schlüssel - dann gebe sie in den eckigen Klammern mit an.
Und denke daran, deine Arraywerte zu escapen, wenn sie möglicherweise nicht URL-konforme Zeichen enthalten könnten.
gruß,
wahsaga
echo $begrüßung;
Wenn ich die Arrays direkt "an die URL dranhänge" (z.B. url += '&name=' + array;) dann kommen die Arrays als kommaseparierter String im PHP-Script an, was ich aber nicht will.
Dann könntest du aber auf einfache Weise den Wert wieder in ein Array explode()ieren.
Ich möchte das gleiche Ergebnis haben wie nach dem Submit eines Formulars (wo mehrere Inputs den gleichen Namen (input name='test[]') haben und als echtes Array im PHP-Script ankommen). Lässt sich das irgendwie "simulieren"?
Du müsstest "nur" dein Javascript-Array auseinandernehmen und die Werte einzeln mit jeweils test[]= vorndran anhängen.
echo "$verabschiedung $name";