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


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

我想从控制器方法中获取数据,并将数据作为JSON字符串返回,这样JavaScript就可以处理它。

我执行了所有的步骤,这样Cake就可以像这里描述的那样处理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本身传递给视图。