Ajaxで文字列配列を送信する方法

ajax

AjaxでAPIにJSON形式の値を送信する方法を紹介しました。
今回は文字列配列をAPI(サーバサイド側)に渡す方法を紹介します。
チェックボックスの値等は、文字列ではなく、配列でAPI(サーバサイド側)に渡すことがほとんどです。
本格的なAPIをつくるうえで、パラメータの受け渡しは重要です。本ブログを参考して頂けると幸いです。

[スポンサーリンク]

Ajaxで文字列配列を送信するコード


<script type="text/javascript">
$( function() {
    $( '#ajax-button' ) .click(
    function() {
        $.ajax({
          url: 'http://localhost:8080/app/family',
          type:'GET',
          data: {test : 'array1,array2,array3'},
          dataType: 'jsonp',
          success: function(data) {
                       alert("ok");
                   },
          error: function(XMLHttpRequest, textStatus, errorThrown) {
                      alert("ng");
                 }
        });
    });
} );
</script>

解説

「{test : 'array1,array2,array3'},}」でAPI(サーバサイド側)に文字列配列を渡しています。
API側のプログラムでは、「test」をkeyに値(配列)を取得します。

「array1,array2,array3」の前後に[]は不要です。
「array1,array2,array3」をダブルクォートで囲む必要はありません。

さいごに

URLパラメータ(GETパラメータ)ではAPI(サーバサイド側)へ配列を渡すことが出来ませんでした。
Ajaxのdataを使えば、これらの問題は解決しますね。

API(サーバサイド側)への値渡しはなるべくdataを使いましょう!
それでは!