【ajax】動的に2次元配列を作成してPHPにPOSTする

公開日:
更新日:
カテゴリー: Ajax

ループを使用して動的に2次元配列を作成し、ajaxでPHP側にデータをPOSTする方法を説明しています。

loadメソッドを使ってPOST送信

ループで作成した2次元配列のデータを、loadメソッドを使ってサーバーのPHPファイルにPOST送信します。

$('エレメント').load('ここにファイルパス', {key:value});

第1引数にPOST送信するURLを、第2引数に作成した2次元配列のデータを入れます。

これでajax送信すると、結果データが帰ってきます。

HTML

「index.html」ファイルに、以下を記述します。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <title>サンプルプログラム</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
    <script type="text/javascript">
      <!--
        function action(){
		//配列の準備
		var array = [];
		//ループで2次元配列を作成
		for(var i=0; i<3; i++){
			//2次元配列の準備
			array[i] = [];
			//ループで2次元配列に要素を代入
			for(var j=0; j<3; j++){
				//2次元配列の作成
				array[i][j] = "1次元「" + i + "」番目の2次元「" + j + "」番目の配列の要素です";
			}
		}
		//JSONにエンコード
		var array_json = JSON.stringify(array);
		//出力
		$('#output').load('get-data.php', {data : array_json});
        }
      //-->
    </script>
  </head>
  <body>
     <p><input type="button" value="サンプルの実行" onclick="action();"></p>
     <div id="output">「サンプルの実行」を押すと、ajaxでPOST送信した2次元配列のデータがここに表示されます。</div>
  </body>
</html>

「サンプル実行」ボタンを押すと、ajaxにPHPファイルに2次元配列のデータをPOSTします。

PHP

「get-data.php」ファイルに、以下を記述します。

<?php
//POST送信されてきたデータ(JSONエンコードされた2次元配列)を受け取る
$data = $_POST['data'];
//受け取ったデータをJSONデコードする
$data2 = json_decode($data);
//ヘッダーの設定
header('Content-type:text/plain; charset=utf8');
//結果を出力
print_r($data2);
?>

PHPに2次元配列のデータをPOST

これら2つのファイルをサーバーにアップロードし、「index.html」にアクセスしてサンプルを実行すれば正常に動作するはずです。

なお、実際の動作等はサンプルから確認してください。

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント