2009年12月18日金曜日

CakePHP + JSON

CakePHPで配列をJSONに変換するのは、$json = $javascript->object($data,array());で、エンコードして、obj = request.responseJSON;で、デコードできる筈なのだが・・・
まず、エンコード結果にnullしか帰ってこない。さらに、まともなJSONコードを返してもresponseJSONで取り込めない・・・。
レスポンスのContent-Typeが「application/json」であればresponseJSONに入るはずなので、Content-Typeが正しくセットされていないことは想像できるのですが、結局良くわからないので、差し当たってjson_encodeでエンコードして、responseTextで取り込んでからevalJSONで、デコードすることで、それらしく動くようにはしました。でも、これじゃ不味いよね。
全体の仕組みを作ることが先決なので、この辺りは後からもう一度見直すことにします。どうも何時もごまかしている気がしますが、まぁ動けば良いか~と。
まぁ、実はヒントはもう見つけてあってMT systemさんのサイトに答えがあります。
今回は、$ajax->remoteTimerでポーリングしているので、次はCOMETの仕組みを組み込んでサーバー側からリアルタイムに状態表示を更新出来るようにしたいと思います。

0 件のコメント:

コメントを投稿