在 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 本身传递给视图。
我想从控制器方法中获取数据,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 本身传递给视图。