Thread Mojolicoius: POST-Daten abgreifen
(6 answers)
Opened by Molaf at 2014-10-08 09:59
Hallo,
ich nutze grade zum ersten mal mit Mojolicious ein Formular und übertrage POST Daten. Dummerweise kann ich anschliessend im Controller nicht mehr drauf zugreifen. Der Code: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 #!/usr/bin/env perl use Mojolicious::Lite; # Documentation browser under "/perldoc" plugin 'PODRenderer'; get '/' => sub { my $c = shift; $c->render('index'); }; post '/lo' => sub { my $c = shift; my @params = $c->req->body_params; $c->stash('all_post_params'=> join(',',@params) ); $c->stash('tx'=> $c->req->param('textentry') ); $c->stash('pw'=> $c->req->body_params->param('passw')); $c->stash('hid'=> $c->param('hid') ); $c->render('parameter'); }; # get rid of the secrets-warning app->secrets(['abcd']); app->start; __DATA__ @@ index.html.ep <!DOCTYPE html> <html> <head><title>Parameter Test</title></head> <body> <form action="/lo" method="post" enctype="text/plain"> <p>Textentry<br/> <input type="text" size="8" name="textentry" /></p> <hr/> <p>Password<br/> <input type="password" size="8" name="passw" /></p> <hr/> <input type="submit" value="send" name="1"/> <input type="submit" value="send anyway"/> <br/> <input type="hidden" value="<%=rand(5)%>" name="hid"/><br/> <a href="/">reload</a> </form> </body> </html> @@ parameter.html.ep <!DOCTYPE html> <html> <head><title>Parameter Results</title></head> <body> <p>Text: <strong><%=stash('tx')%></strong><br/> </p><hr/> <p>Password: <strong><%= param('passw') %></strong><br/> </p><hr/> <p>Hidden: <strong><%= param('hid') %></strong><br/> </p><hr/> <p>All POST-params:<strong> <%=stash('all_post_params')%></strong><hr/></p> <a href="/">again</a> </body> </html> Erwartetes Verhalten: Nach Formularübermittlung werden die Werte der Formularfelder auf der nächsten Seite angezeigt. Engestelltes Verhalten: Werte werden nicht angezeigt. Von Zeile 14-19 nutze ich verschiedene Möglichkeiten (die laut Doku alle gehen sollten), um an die benötigten Daten zu kommen - leider ohne Erfolg. Ich beziehe mich mit den Parametzern auf beispielsweise param-liste und die Doku von Mojolicious param Perl ist v5.18.1 Mojolicious ist 5.17 Per Wireshark habe ich auch mal die POST-Übermittlung untersucht, die sieht nicht anders aus als sonst, auch habe ich natürlich verschiedene Browser genutzt, um deren Schuld auszuschliessen. Danke für die Aufmerksamkeit :) |