perl cgi スクリプトへの ajax 呼び出しのデータ部分から複数のパラメーターをデコードできる必要があります。他のすべてが自分のコードで機能していることはわかっていますが、何らかの理由で、JSON モジュールのデコード メソッドを適切に機能させて、データを JSON 形式からパラメーターに再度復元することができないようです。私のjQuery ajax呼び出しのデータはこのように設定されていますが、これは正しいです.
data: {
maxRows: 5,
productName: request.term
}
ただし、それを perl に解析しようとしている方法に問題があります。
my $json = JSON->new->utf8->allow_nonref;
my $json_text = $cgi->param('data');
my $json_array = $json->decode( $json_text );
正しい最終結果がハッシュの配列であることはわかっています。ここまでできれば、大丈夫だと思います。ただし、私のデコード行は機能せず、実際には実行時にスクリプト全体が失敗します。
私は広範囲に見回しましたが、これを理解することはできません。私はそれがいくつかの非常に小さな調整であることを確信しています。
$cgi->param('data') を使用してパラメーターを正しく取得していますか? それは名前付きデータになるのでしょうか、それとも別のものですか?