【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」にアクセスしてサンプルを実行すれば正常に動作するはずです。
なお、実際の動作等はサンプルから確認してください。
あわせて読んでほしい!
コメント
まだコメントはありません。
コメントフォーム



