2014-09-19 3 views
-1

Я создал веб-приложение, которое передает все входные данные формы через URL-адрес. Может ли кто-нибудь помочь мне выяснить, как отправлять данные с помощью POST? Я начинаю обрабатывать большие объемы данных, а GET создает проблему с слишком длинным URL-адресом. Если есть простой способ JavaScript для этого, мне было бы интересно также.Perl converting GET to POST

Например, форма ввода имеет атрибут txtName и пользователь набрал John. В новой форме мне нужно получить John и назначить его переменной $Name с использованием метода POST.

Сейчас я использую GET и am chomping параметры, чтобы получить данные из URL.

Как вы, на Perl, получаете POST для работы в обеих формах?

Я изменил GET на POST на форме, представляющей данные. На принимающем данные формы я ставлю

use HTTP::Request::Common qw(POST); 
use LWP::UserAgent; 

$ua = LWP::UserAgent->new; 

в верхней части, то под этим я поставил

my req = POST 'http://intranet/webservice/enhancements/ManagementEnhancementPerson.pl', 
     [ $Person ='person' ]; 

Веб-страница страница Я принимаю данные, $Person переменная я хочу и person - это имя ввода в исходной форме.

Я застрял на этом некоторое время. Я относительно новичок в Perl и веб-разработке.

Это мои заявления использования в верхней части страницы получение данных.

use CGI::Carp 'fatalsToBrowser'; 
use warnings; 

use Net::SMTP; 
use HTTP::Request::Common qw(POST); 
use LWP::UserAgent; 

$ua = LWP::UserAgent->new; 
+1

У вас все еще есть все те же неясности, что и ваши предыдущие вопросы. Вы спрашиваете, как * вы можете отправлять данные, но вы ничего не будете делать. Вы говорите, что форма получает и присваивает, но формы не могут выполнять действия. Ваш язык все еще очень неясен. Кроме того, язык программирования называется «Perl», а не «PERL». – ikegami

+0

@ jm666. Не имеет смысла говорить, что вопрос является дубликатом закрытого вопроса. Кроме того, я предложил ему опубликовать свой уточненный вопрос в качестве нового вопроса, вместо того, чтобы фиксировать вопрос, который был скрыт и закрыт. К сожалению, он плохо справился с этим. :( – ikegami

+0

Я думаю, я не знаю, как сделать это лучше ... По сути, я просто хочу знать, как преобразовать процесс получения в почтовый процесс в каждой из двух форм. – Justin

ответ

1

Если вы сделаете запрос, используя следующее (немного изменен от того, что вы вывесили имеете смысл):

my $request = POST 'http://.../ManagementEnhancementPerson.pl', [ 
    person => $Person, 
]; 

my $response = $ua->request($request); 

Вы бы извлечь значение, используя следующий в ManagementEnhancementPerson.pl:

use CGI qw(); 
my $cgi = CGI->new; 
my $Person = $cgi->param('person'); 

Модуль CGI предоставляет данные формы через param независимо от того, была ли форма отправлена ​​с использованием GET или POST.

+0

Спасибо за вашу помощь .. Было бы Я поставил оба эти набора кода на странице ManagementEnhancementPerson.pl? Или один идет в ManagementEnhancementUpdate.pl (получение формы данных), а другой - в ManagementEnhancementPerson.pl (форма отправки данных)? – Justin

+1

Этот комментарий настолько полон ошибок. 1) Формы не получают данные. 2) 'ManagementEnhancementUpdate.pl' не является формой. 3) 'ManagementEnhancementUpdate.pl' - тот, кто получает данные в вашем вопросе. 4) Мой ответ уже говорит, куда поместить код. – ikegami

+0

Хорошо, большое спасибо за вашу помощь. Я буду играть с этим кодом и попытаюсь заставить его работать. Спасибо, что ответили на все мое дерьмо! – Justin