Форум: "Прочее";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
ВнизЕще про GET и POST. Но уже на Perl Найти похожие ветки
← →
pe@rl (2009-09-18 11:55) [0]В описании стандартного CGI.pm говорится:
The param() method will always return the contents of the POSTed fill-out form, ignoring the URL"s query string.
Но если запустить страничку:
hxxp://localhost/cgi-bin/test.pl?blablabla=1&foo=7
то имея test.pl следующего содержания:#!C:/Perl/bin/perl
use CGI();
my $q = new CGI;
$q->header,
$q->start_html("POST and GET test"),
join(", ", $q->param),
$q->end_html;
получаю ответ:lablabla, foo
Но почему так? Ведь документация говорит, что их здесь не должно быть!
← →
McSimm © (2009-09-18 13:10) [1]Зависит от метода
Если обратиться к этому URL методом POST, то будет как в документации, - param() вернет POST данные. Добраться до GET можно будет с помощью url_param()
← →
pe@rl (2009-09-18 13:24) [2]Стало быть, либо документация не совсем корректно описывает поведение этой функции/метода?
← →
pe@rl (2009-09-18 13:32) [3]$мой_предыдущий_пост =~ s/ либо//; # :-)
← →
McSimm © (2009-09-18 14:39) [4]
> документация не совсем корректно описывает поведение этой
> функции/метода?
Нет, это просто фраза вне контекста так звучит (контекст - Mixing POST and URL Parameters). То что param() работает и с данными GET описывается выше
Место, на которое вы ссылаетесь, описывает как быть в случае смешанной передачи - когда методом POST отправляют данные на URL с параметрами.
← →
pe@rl (2009-09-18 17:23) [5]
> То что param() работает и с данными GET описывается выше
вы, наверное, говорите об этом:If the script was invoked with a parameter list (e.g.
"name1=value1&name2=value2&name3=value3"), the param()
method will return the parameter names as a list.
Но на деле же вполне типична ситуация, когда данные скрипту передаются одновременно и по POST и по GET. Из документации совершенно не ясно что в таком случае будет возвращать метод/функция param(). На лицо ambiguity!
← →
McSimm © (2009-09-18 18:11) [6]
> Но на деле же вполне типична ситуация, когда данные скрипту
> передаются одновременно и по POST и по GET. Из документации
> совершенно не ясно что в таком случае будет возвращать метод/функция
> param().
Именно это описывается в разделе Mixing POST and URL Parameters.
В этом случае (согласно документации) param() возвращает данные POST, а данные URL доступны с помощью url_param()
О какой двусмысленности речь - непонятно.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c