AJAXでJSONデータのやりとりを行うサンプル。
サーバー(get_json.php)に送る側のデータ(ソースコード中のjdata)は、1次元のJSONデータである。2次元以上ではだめらしい。
サーバー(get_json.php)から送られているデータもJson形式です。こちらは2次元配列からなるJSONデータを受信している。

テスト実行


Java Script
			
				//PHPに非同期通信で送るJSONデータ。1次元配列しか送れず)
				var jdata={names: '源頼朝',contry: '鎌倉',year: '1192'};

				$.ajax({
					type: "POST",
					url: 'get_json.php',
					data: jdata,
					cache: false,
					async : true,
					dataType: "json",
			    success: function( data ) {
				    	//▼非同期通信成功時の処理。パラメータのdataはjson形式のデータである。
				    	
			        $.each(data,function( key, value ) {
			            $('#xxx1').append(key + '=>' + value.names + ' | '  + value.contry + ' | ' + value.year+'
' ); }); }, error: function( data ) { alert("ajax失敗"); } });

get_json.php
				header("Access-Control-Allow-Origin:*");//クロスドメイン通信を許可する。

				//POSTからいくつかの情報を取得。
				$names=$_POST["names"];
				$contry=$_POST["contry"];
				$year=$_POST["year"];
				
				//サンプルデータを作成。
				for($i=0;$i<4;$i++){
					$ent["names"]=$names.$i;
					$ent["contry"]=$contry;
					$ent["year"]=$year;
					$data[$i]=$ent;;
					
				}
				
				//☆JSONエンコードと出力。
				$jdt=json_encode($data);//PHP配列をJSON形式にエンコードする。
				echo $jdt;//JSON形式のデータはechoでそのまま出力することが可能。