2012-04-04 7 views
1

私はフォームを持っていて、KnockoutJsアプリを持っていて、CakePHPバックエンドを持っています。 Cakeのデフォルトの「保存」ボタンを押すと、標準フォームデータと共にJSONを吐き出して投稿したいと思っています。ここで CakePHPにデータを保存し、AJAX経由でJSONを同時に投稿しますか?

は、私がこれまでに私のJSを持っているものです。

if($this->RequestHandler->setContent('json', 'application/json')) { 
    // standard saving code 
} 

$('input.saveProgram').click(function() { 
    var theJson = ko.mapping.toJSON(pvm, mapping); 
    $.ajax({ 
     url: 'http://localhost/cake/programs/edit', 
     dataType: 'json', 
     type: 'POST', 
     data: theJson 
    }); 
}); 

ケーキでは、私は私のコントローラでリクエストハンドラを使用しようとしているが、無駄に私のケーキアプリでは、何が起こっているかを見るためにdie($ this-> request-> data)を試みましたが、JSONは投稿されていないようです。

答えて

0

ここで私はあなたの質問を解釈する解決策です。あなたのコントローラで:

if($this->RequestHandler->isAjax()){ 

     // "spit" out json 
     echo $this->data; 

     //decode data into an array 
     $decodedData = json_decode($this->data);   

     //standard saving code would 
     $this->Model->save($decodedData); 
    } 
関連する問題