[英]How to POST form data in JSON format instead of JSON with key value pair using AJAX/jQuery?
[英]How to POST non key/value pair data with Perl and LWP
这个“问题”要求在这里对答案进行说明: 如何使用LWP发出JSON POST请求?
我没有对评论发表评论的声誉,并且认为发布我的问题作为答案是不合适的。
具体来说,我正在尝试发布JSON数据(就像其他提问者一样),而不是键值对。
为什么这样做:
my $lwp = LWP::UserAgent->new;
my $req = HTTP::Request->new( 'POST', $uri );
$req->header( 'Content-Type' => 'application/json' );
$req->content( $json );
my $response = $lwp->request( $req );
但这不是:
my $req= POST( $uri, $json); ### this works for key/value pairs
$req->header( 'Content-Type' => 'application/json' );
my $response = $lwp->request( $req);
...而且这也不是:
my $response = $lwp->request(POST $uri, ['Content-Type' => 'application/json'], $json);
我已经阅读了HTTP :: Request :: Common和LWP :: Useragent的手册,我认为我只是在看错东西。
同样,第一个示例运行良好,但我真的很想更好地理解这一点。
谢谢。
为什么要运作? 从文档 :
POST $url
POST $url, Header => Value,...
POST $url, $form_ref, Header => Value,...
POST $url, Header => Value,..., Content => $form_ref
POST $url, Header => Value,..., Content => $content
你要
POST($uri, Content => $json)
除非这是更大的应用程序的一部分(否则可能还会),否则我建议使用Mojo :: UserAgent ,它具有执行此类操作的非常简单的工具。
use strict;
use warnings;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
$ua->post( $uri, json => $json );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.