Как разрешить CGI в HTML принимать пробелы в качестве параметра - PullRequest
1 голос
/ 18 ноября 2011

В настоящее время у меня есть следующая ссылка:

<a href=/myweb/cgi-bin/my.cgi?name=B. anthracis>B. anthracis</a>

Но вместо того, чтобы взять B. anthracis в качестве входного параметра, вместо него требуется B. . Как я могу изменить приведенный выше скрипт HTML или CGI, чтобы разрешить это?

А сейчас мой CGI-скрипт выглядит так:

use CGI;
my $cgi = CGI->new();
my $param = $cgi->param('name');
print "$param\n";

1 Ответ

4 голосов
/ 18 ноября 2011

URL должен кодировать строку запроса:

<a href="/myweb/cgi-bin/my.cgi?name=B.%20anthracis">B. anthracis</a>

И настоятельно рекомендуется включать кавычки в ваши атрибуты.

Вы можете использовать encodeURIComponent в JavaScript или uri_escape в Perl для кодирования каждого имени параметра и значения перед построением строки запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...