jQueryから送信($.ajax)した配列をAmon2(Perl)で受け取る。

jQueryからpostされた配列をAmon2で受け取ります。
ま、タイトルのまんまですね。

jsの方はざっくりですが、下記のような感じ。

var hoge = [1,2,3];

$.ajax({
  type: "POST",
  url: "/myapp/test",
  data: {
    hoge : hoge
  }
});

で、Amon2(Perl)側は下記のような感じ。

sub test {
    my ( $class, $c ) = @_;

    my @hoges = $c->req->parameters->get_all('hoge[]');
    # @hoges = (1,2,3);

    $c->render('index.tx');
}

特に特記することはそんなにないんですが、受け取る時はhoge[]のように後に[]が付く。

[]をつけたくない場合は、、

$.ajax({
  type: "POST",
  url: "/myapp/test",
  data: {
    hoge : hoge
  },
  traditional: true
});

てな感じで、traditional: trueのオプションをつけると後に[]がつかなくなる。

返信を残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください