2012-04-24 20 views
0

cakephp 2.1.1cakephp REST APIレスポンスはjsonではありません。その完全なhtmlページ

私がDocから読んだものからです。 REST APIを簡単に作成することができます。 (http://book.cakephp.org/2.0/ja/development/rest.html)

私はJSON応答を生成する方法を理解することができません。私は目的関数cからapiを呼び出しています。応答はフルHTMLページ。

私は

public function add() { 
     if ($this->request->is('post')) { 
      if ($this->Post->save($this->request->data)) { 
       $message = 'Saved'; 
       //echo 'eyeys'; 

      } else { 
       $message = 'Error'; 
      } 

      $this->set('_serialize',$message); 
     } 
    } 
+0

をチェックアウト設定してみてください、私のコントローラで、このコードを持っていますcakephp 2.1.1はroutes.phpRouter :: mapResources( 'posts')のこれです。 Router :: parseExtensions(); –

+0

json拡張モジュールを解析する必要があります: 'Router :: parseExtensions( 'json')' '.json'で終わるすべてのリクエストは、自動的に応答タイプを設定します。 – jeremyharris

答えて

1

が応答型

public function add() { 
    $this->autoRender = false; 
    $this->response->type('json'); 
    $message = null; 
     if ($this->request->is('post')) { 
      if ($this->Post->save($this->request->data)) { 
       $message = 'Saved'; 
      } else { 
       $message = 'Error'; 
      } 
     }   
    return json_encode($message);  
} 

はまた、また、私はRESTを有効にするためにやったすべてを公式のCakePHP 2.0 response documentation

+2

注: 'Router :: parseExtensions( 'json')を使って拡張を解析する場合、型を設定する必要はありません。自動的に拡張子が' .json'のすべての要求に対して設定されます。 – jeremyharris

関連する問題