【发布时间】:2012-11-28 00:05:21
【问题描述】:
我试图避免为我在控制器上使用的每个 AJAX 函数创建一个视图。 (因为我不以任何方式操作结果数据,并且在大多数情况下只是一个布尔值)
我在我的控制器上使用 RequestHandler 组件:
var $components = array('RequestHandler');
我在routes.php添加了这个
Router::parseExtensions('json');
我正在尝试使此功能正常工作,但我得到了 null 值:
public function test(){
$this->layout = 'ajax';
$result = '1';
$this->set('_serialize', $result);
}
要访问函数的json 版本,我使用此URL 完成.json 以避免加载任何视图:
http://localhost/cakephp/demoController/test.json
我一直遵循 CakePHP 文档中的步骤: http://book.cakephp.org/2.0/en/views/json-and-xml-views.html#json-and-xml-views
我做错了什么?为什么我没有得到预期的结果,而是得到了null?
另外,如果我尝试序列化一些数组,比如这个:
$result = array('demo' => '1');
$this->set('_serialize', $result);
我收到此通知:
注意 (8):未定义索引:1 [CORE\Cake\View\JsonView.php, line 89]代码上下文@ 987654332@
foreach ($serialize as $key) {$data[$key] = $this->viewVars[$key];$view = null $布局=空 $序列化 = 数组( '演示' => '1' ) $数据 = 数组() $key = '1'JsonView::render() - CORE\Cake\View\JsonView.php,第 89 行 Controller::render() - CORE\Cake\Controller\Controller.php,第 957 行 Dispatcher::_invoke() - CORE\Cake\Routing\Dispatcher.php,第 193 行 Dispatcher::dispatch() - CORE\Cake\Routing\Dispatcher.php,第 161 行 要求 - APP\webroot\index.php,第 92 行 [主] - ROOT\index.php,第 42 行{“1”:null}
【问题讨论】:
标签: cakephp cakephp-2.0 cakephp-2.2 cakephp-2.3