JSONで行こう [2006/10/24]

Ajaxにおいて、サーバ・クライアント間のデータ形式はXMLが主体でしたが、最近はJSONが多いでしょうか。

JSON(名前はちょっと怖いですが)、便利です。
■Javascript側から送信
json.jsを使用すれば、

var myJSON = {"data": [
{"lat": "38.88", "long": "139.34"},
{"lat": "39.66", "long": "149.24"},
{"lat": "40.88", "long": "129.34"}
]
};
これを
myJSON.toJSONString();
これだけでシリアライズしてくれる!
それをpostする。

■PHP側で受信
送信されたPostデータは、stripslashes して取り出す。

JSON.phpを使用すれば、
$json = new Services_JSON();
$aaa = $json->decode($value);
$dataset= $aaa->data;

これだけでデータを取得できる!

■PHP側からリターン
$result = array();
$result['return'] = 0;
$json = new Services_JSON();
print $json->encode($result);

戻り値をセットしてリターン。

■Javascript側で受信
var jsontext = originalRequest.responseText;
var result = eval('(' + jsontext + ')');
$('result').innerHTML = result['return'];

responseText で取り出して、eval すればOK。

便利。