0

Androidモバイルアプリケーションを作成しようとしており、サーバーサイドとしてCakePHPを使用しています。HTML ビューは必要ありません。JSON オブジェクトのみで応答します。

http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html#RequestHandlerComponentを見て、これを作成しました:

class LocationsController extends AppController
{
    public $helpers = array('Html', 'Form');
    public $components = array('RequestHandler');
    function index()
    {
        $locations = $this->Location->getNearest();
        $this->set(compact('locations'));
        $this->set('_serialize', array('locations'));
    }
}

そして私はこれを私のに追加しましたroutes.php:

Router::mapResources('locations');
Router::parseExtensions('json');

これをデフォルトの CakePHP レイアウト スタイルとは別に実行すると、何も表示されません。index.ctp ビュー ファイルを削除すると、ビュー ファイルが見つからないというエラーが表示されます。それでもビューファイルが必要なのはなぜですか? シリアル化アプローチでは、ビューは必要ないと思いました。Google Chrome 開発者コンソールを調べてみましたが、JSON オブジェクトを含む応答がありません。ただし、MySQL は完全に正常に動作しました。

4

2 に答える 2

0

$this->render(false);間に挟む

public $components = array('RequestHandler');

function index()

これで index.ctp ファイルは不要になりました。

詳細については、このリンクを参照してください。

于 2013-03-02T19:27:36.363 に答える