分かりやすく、使いやすく。

Ajax で配列を POST して PHP で受け取る方法

スポンサーリンク

jQuery を使用して Ajax で配列を POST して PHP で受け取るサンプルコードです。

次のサンプルコードは送信ボタンを押下すると2個の配列をサーバに送信(POST)します。PHP 側では受け取った配列の内容をログファイルに書き出します。

javascript(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script>
$(function(){
    $("#my_button1").on("click", function(evt){
        var ary_names = ['太郎', '次郎', '三郎'];
        var ary_numbers = [10,20,30,40,50];
        
        $.ajax({
            url: 'http://yourdomain/test.php',
            type: 'POST',
            data: {
                'names': ary_names,
                'numbers': ary_numbers
            },
            success: function (data) {
                alert('OK');
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('NG');
            }
        });
    });
});
</script>  
<input type="button" id="my_button1" value="送信"/> 
php(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//配列を受信する。
$ary_names   = $_POST['names'];
$ary_numbers = $_POST['numbers'];
 
//ログファイルを開く。(スクリプトと同じディレクトリに出力)
$output_file_path = __DIR__ . '/log.txt';
$res_file = fopen($output_file_path , 'a+');
 
foreach($ary_names as $name)
{
    //配列の内容を1個ずつ書き出す。
    fwrite($res_file, $name . PHP_EOL);
}
 
foreach($ary_numbers as $number)
{
    //配列の内容を1個ずつ書き出す。
    fwrite($res_file, $number . PHP_EOL);
}
 
//ファイルを閉じる
fclose($res_file);  

上記を実行すると PHP のスクリプトと同じディレクトリに次のログファイルが作成されます。

log.txt
1
2
3
4
5
6
7
8
太郎
次郎
三郎
10
20
30
40
50 
スポンサーリンク
スポンサーリンク