をPOST応答データを得ることができない、私は戻ってperlのCGIスクリプトからの応答データを取得しようとしている:Javascriptをフェッチ:perlのスクリプトから
私は、次のJavaScriptコードを持っている:
fetch('/test.pl', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: this.state.msgName,
email: this.state.msgEmail
})
})
.then((response) => {
console.log("been here");
console.log(response);
})
.then((responseData) => {
console.log("been here 2");
console.log(responseData);
})
.then((data) => {
console.log("been here 3");
console.log(data);
})
.catch((error) => {
console.log("Failed!", error)
});
このperlスクリプト:
#/usr/bin/env perl
use strict;
use CGI;
use JSON;
my $q = new CGI;
my $json = new JSON;
if ($q->param)
{
print $q->header();
my $hash = $json->decode($q->param('POSTDATA'));
print $q->header('application/json');
my $msg = [ sprintf "data from %s received ok", $hash->{name} ];
print $json->encode($msg);
}
が、私は唯一の(私はChromeのウェブ開発ツールを使用しています)、これを取得していますし、データなし:
0123私はperlスクリプトがうまく動作確信しているは、ここでは、コマンドラインからそれをテストするための出力です:
# curl -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{"name":"uvw","email":"xyz"}' http://localhost/test.pl
Content-Type: application/json; charset=ISO-8859-1
["data from uvw received ok"]%
誰もがバックJSスクリプトにデータ応答を取得する方法を知っていますか?助けをあらかじめありがとう!
[OK]を、 – tvs
ですCGIスクリプトは動作していますか?あなた自身のログに基づいて 'Response'オブジェクトを持っています – slezica
はい、私はcurlを使ってコマンドラインでテストし、正しくデータを返します(私の投稿の最後に何を書いているのかを見てください) – tvs