【问题标题】:Perl converting GET to POSTPerl 将 GET 转换为 POST
【发布时间】:2014-09-19 13:38:59
【问题描述】:

我已经构建了一个通过 URL 传递所有表单输入数据的 Web 应用程序。有人可以帮我弄清楚如何使用 POST 发送数据吗?我开始处理大量数据,而 GET 导致 URL 太长的问题。如果有一种简单的 JavaScript 方法可以做到这一点,我也会感兴趣。

例如,输入表单有一个名为txtName 的属性,而用户输入了John。在新表单上,我需要它来获取 John 并使用 POST 方法将其分配给变量 $Name

现在我正在使用 GET 并且正在调整参数以从 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 和 Web 开发比较陌生。

这是我在页面顶部的使用声明接收数据。

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

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

$ua = LWP::UserAgent->new;

【问题讨论】:

  • 你仍然和你之前的问题一样晦涩难懂。你在问如何发送数据,但你不会做任何事情。您说表单获取和分配,但表单无法执行操作。你的语言还是很不清楚。此外,编程语言称为“Perl”,而不是“PERL”。
  • @jm666,说一个问题是一个封闭问题的副本没有多大意义。此外,我建议他将他澄清的问题作为一个新问题发布,而不是修复一个隐藏和封闭的问题。不幸的是,他做得不好。 :(
  • 我想我不知道如何让它变得更好......基本上我只是想知道如何将 get 过程转换为 post 过程中的每一个。
  • 您需要首先指定您用来构建应用程序的框架(如果有)。您使用的是 Dancer、Catalyst 还是类似的东西?如果您不理解这个问题,那么只需说出您在程序顶部有哪些 use 语句。更好的是,在这里发布您的代码,以便我们自己查看。
  • 好的,我会添加到问题描述中。

标签: html perl web-applications http-post


【解决方案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 提交的。

【讨论】:

  • 感谢您的帮助。我可以将这两套代码都放在 ManagementEnhancementPerson.pl 页面中吗?还是一个进入 ManagementEnhancementUpdate.pl(表单接收数据),另一个进入 ManagementEnhancementPerson.pl(表单发送数据)?
  • 这条评论充满了错误。 1) 表单不接收数据。 2) ManagementEnhancementUpdate.pl 不是表格。 3)ManagementEnhancementUpdate.pl 是接收您问题中数据的人。 4) 我的回答已经说明了代码的放置位置。
  • 好的,非常感谢您的帮助。我将使用该代码并尝试使其工作。感谢您回答我所有的废话!
猜你喜欢
  • 2012-04-02
  • 2020-06-21
  • 2019-04-19
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多