我想从控制器方法获取数据并将数据作为JSON字符串返回,因此JavaScript可以处理它。
我执行了所有步骤,因此Cake可以按照here所述处理JSON。
在视图中调用AJAX:
$.ajax({
url: '/cake/workers/getWorkersAsJSON.json',
async: true,
success: function(data) {
console.log("data: " + data);
}
});
控制器方法:
public function getWorkersAsJSON() {
$workers = ClassRegistry::init("Worker")->find('list', array( 'order' => array('fullname' => 'asc'), 'conditions' => array('Worker.partner_id' => '6')));
$this->set('_serialize', array('workers'));
}
我预计JavaScript的data
变量中的数据但始终为null
。
当我向控制器添加return json_encode($workers);
时,我得到了数据,但我不认为这是整个设置背后的想法。
我需要做什么才能获取数据?
答案 0 :(得分:0)
将$this->set(compact('workers'))
添加到操作中。目前,您只设置_serialize
,它指示要序列化的var,但不将$workers
var本身传递给视图。