CakePHP以json格式查看

时间:2014-08-23 13:55:43

标签: json cakephp mobile-application

我要制作一个与移动应用程序协作的CakePHP应用程序。移动应用程序将查询CakePHP应用程序以检查某些优惠券是否有效。我需要更改我的一些视图,使其输出为json格式,以便轻松地通过移动应用程序进行解析。 具体来说,如果移动应用程序调用{​​{1}} Cake应该返回这样的内容作为响应:example.com/vouchers/check/1234{"validity":"valid"},这是检查ID为1234的凭证有效性的结果。

1 个答案:

答案 0 :(得分:0)

基本上,您应该在期望非HTML响应时使用扩展(在这种情况下为JSON) 请求

/vouchers/check/1234.json

并按照文档和ajax-and-cakephp教程使用JsonView。

总结一下:

使用此选项可以启用json扩展名:

Router::parseExtensions();
Router::setExtensions(array('json', ...));

不要忘记在控制器$ components列表中包含RequestHandler组件。

将此添加到您的操作中:

$data = array(
    'validity' => ...,
);
$this->set(compact('data')); // Pass $data to the view
$this->set('_serialize', 'data'); // Let the JsonView class know what variable to use