在 AJAX 调用后使用 JavaScript 处理数据 (CakePHP 2.6.x)

Process data with JavaScript after AJAX call (CakePHP 2.6.x)

我想从控制器方法中获取数据,return 数据作为 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); 添加到控制器时,我得到了数据,但我认为这不是整个设置背后的想法。

我必须做什么才能 JavaScript 获取数据?

$this->set(compact('workers')) 添加到操作中。目前您只设置 _serialize 指示要序列化哪个 var 但不将 $workers var 本身传递给视图。