Thread Zeichen geht verloren bei Ajax Request?
(53 answers)
Opened by bianca at 2012-07-12 05:41
Guten Morgen!
Habe mir da so ein Autocomplete gebastelt mit teilweise im Netz gefundenem Code. Funktioniert soweit auch ganz gut aber eine Kleinigkeit ist komisch. Bei dem Suchbegriff r+ geht beim Request das Plus verloren. Im JS alert() ist es scheinbar noch da aber im Perlscript gleich ganz oben in $quoted scheinbar schon nicht mehr. Denn es matcht den Eintrag 6 aus dem Hash nicht und zeigt auch im Eintrag 9/Debug nur ein r\ Jemand eine Idee, wo der Fehler liegt? Code: (dl
)
1 <!DOCTYPE HTML> Das Perlscript test_autoc.pl: 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 #!/usr/bin/perl -w use strict; use warnings; use CGI; use JSON qw (encode_json); my $cgi = CGI->new; my $quoted = quotemeta $cgi->param('term'); my %hash = ( 1 => 'Erna', 2 => 'Erwin', 3 => 'Markus', 4 => 'Heidi Petra', 5 => 'Test Quoting "mit" Anführungszeichen', 6 => 'Test mit Plus r+x', 9 => 'Suchbegriff/Debug: "' . $quoted . '"', ); my @json_array; foreach my $id ( sort {lc $hash{$a} cmp lc $hash{$b}} grep {$hash{$_} =~ m/$quoted/i || $_ == 9} keys %hash ) { push @json_array,{ id => $hash{$id}, label => $hash{$id}, value => $hash{$id}, }; } print STDOUT $cgi->header . JSON->new->latin1->encode(\@json_array); Danke Edit: Habe zwei Screenshots angehängt die meine Ausgaben zeigen. Umgebung: Win7 32 Bit, IE9, Strawberry Perl 5.10.1, Apache Webserver 2.2 Anhänge Last edited: 2012-07-12 05:47:11 +0200 (CEST) 10 print "Hallo"
20 goto 10 |