cakePHP 1.3とbackbone.jsの連携でハマった
すげーハマった。
backbone.jsのsaveメソッドでモデルの変更内容をpostして保存しようとしたんだけど、
cakePHP側で$this->params['form']にも$this->dataにも$this->params['data']にもどこにも入ってこない。
Backbone.syncの内容をdumpしたりして、
ようやく解決。
Backbone.syncだと、
リクエストをapplication/jsonでおくっちゃうから、cakePHP側で取れてなかった。
なんか正規の取り方ってあるんでしょうか。
結局はコンポーネント内でRequestHandlerをcomponentsに設定して、
以下のようにして$this->dataで取れるようにした。
if($this->RequestHandler->requestedWith('json')){ $json = json_decode(trim(file_get_contents('php://input'))); $controller->data = $json; }
これ、みんなハマってないのかな?