【问题标题】:POST array to LWP: only first entry getting postedPOST 数组到 LWP:只有第一个条目被发布
【发布时间】:2012-04-11 21:57:45
【问题描述】:

这是代码部分,我正在尝试使用 LWP 发布整个数组,但服务器只接收数组的第一行(0 索引),而其他人没有被发送到服务器,请指导我做错了什么

$data_post[0] = "text1";
$data_post[1] = "text2";
$data_post[2] = "texxt3";
$data_post[3] = "text4";
$data_post[4] ="text5";
my $ua= LWP::UserAgent->new();
my $response = $ua->post( $url, { 'istring' => @data_post} );

my $content  = $response->decoded_content();
my $cgi = CGI->new();
print $cgi->header(), $content;

【问题讨论】:

    标签: perl post lwp lwp-useragent


    【解决方案1】:

    您不能将数组分配给哈希键,只能分配一个标量。您的尝试将扩展数组并发送:

    { "istring" => "text1", "text2" => "texxt3", "text4" => "text5" }
    

    通过将“获取引用”运算符放在数组前面来使用数组 ref:

    { istring => \@data_post }
    

    【讨论】:

    • @briandfoy - 布赖恩,你再次对 OP 接受的另一个答案投票反对我(stackoverflow),我并不感到惊讶。如果您仔细查看我的答案,您会看到我的第一个版本(编辑/更新之前)也有代码{ istring => \@data_post },但 OP 声称它对他不起作用,所以我找到了一个解决方案这就是 OP 所需要的。所以我相信我的答案应该(并且是)被接受的答案。恨我 - 继续对我发现的所有帖子投反对票...
    • 我认为 OP 运行的代码不正确。由于您不使用文字来解释您的答案,因此新手很难找出单个 \ 的变化。如果你的回答像你在你的巨魔中一样冗长,你就不会遇到像你一样多的问题。
    猜你喜欢
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    相关资源
    最近更新 更多