【发布时间】:2014-05-05 08:06:40
【问题描述】:
我目前在使用 AJAX 和 JSON 时遇到了 CakePHP 2.4 的一些问题。
我想用视图呈现数据,但将生成的 html 作为字符串保存在变量中。 之后,我想设置一个数组,其中包含此 html 字符串以及其他数据以作为 JSON 对象返回。不幸的是,我还没有找到正确的方法。
到目前为止,我的控制器代码使用的是 CakePHP json 魔法:
//Controller (just parts)
$data = $this->paginate();
if($this->request->is('ajax')) {
$jsonResponse = array(
'jobs' => $data,
'foci' => $foci,
'jobTypes' => $jobTypes,
'count_number'=> $count_number
);
$this->set('jsonResponse', $jsonResponse);
$this->set('_serialize', 'jsonResponse');
} else {
// render regular view
$this->set(compact('data', 'foci', 'jobTypes', 'count_number'));
}
这会在 javascript 控制台中输出完美的 json,此外 $data 中的数据是纯数据。
是否有可能将 $data 传递给视图,渲染它,将输出保存到字符串变量 $html,然后将 $html 传递给 jsonResponse 中的作业而不是 $data?
【问题讨论】:
-
您的意思是您希望您的 json 响应成为 html 的序列化结果吗?如果您要这样做,为什么不直接返回 html。您希望看到的输出的(真实)示例是什么?
-
感谢您的回复!我想在 Cake 中使用无限页面滚动脚本,我通过 Javascript 附加数据,但我不想用 javascript 格式化数据,而是从服务器获取数据作为 html。此外,我需要一些原始数字来更新页面上的其他元素。
标签: ajax json cakephp cakephp-2.4