JQuery 非同期通信・POSTで配列データを送信

配列やArrayを非同期通信POSTで送ることができます。

★サンプル1

Arrayを非同期通信POSで送ります。

★サンプル1のソースコード

JavaScript側ソースコード。主要部分を抜粋。
	var url='sample1.php';

	//サンプルデータ
	var ary=new Array();
	ary[0]="a";
	ary[1]="b";
	ary[2]=5;
	ary[3]="hello world";

	//★Arrayを非同期通信POSTで送る。
	$.post(
	url ,
	{"ary" : ary} ,
		function(msg){
			alert(msg);
		}
	).error(
		function() {//PHP側で何らかのバグ発生。存在しないURLを指定したりすると発生。

		alert('サーバーサイドのエラー');
	});
			
sample1.phpの全ソースコード

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

	$ids=$_POST['ary'];
	$ret=join("/",$ids);
	echo $ret;

			

補足:Arrayだけでなく配列も可能。

※多次元配列やツリー構造のデータを送る場合、オブジェクト型に変換しないといけない。
配列では一次元までしか送れないようである。
	var url='sample1.php';

	//サンプルデータ
	var id = [1,2,3,'test.jpg'];

	//★配列を非同期通信POSTで送る。
	$.post(
	url ,
	{"id[]" : id} ,
		function(msg){
			alert(msg);
		}
	).error(
		function() {//PHP側で何らかのバグ発生。存在しないURLを指定したりすると発生。

			alert('サーバーサイドのエラー');
		});
			

(C)kenji uehara