我试图用AJAX拉取页面区域。
在JS中我点击了我将href传递给PHP; 在PHP(位于工具中):
<?php defined('C5_EXECUTE') or die("Access Denied.");
$path = ($_POST['path']);
$page = Page::getByPath($path);
$a = new Area('Main');
$ret = $a->display($page);
echo json_encode($ret);
?>
如果我做:
echo json_encode($page);
我收到页面所以一切正常,但是当我尝试接收区域时,我收到此错误: 第5行的具体\ elements \ _clock_area_header_view.php
在这个文件中我发现了这个
$c = Page::getCurrentPage();
$areaStyle = $c->getAreaCustomStyleRule($a);
据我所知,$ c为null,为什么我有这个错误,我怎么能解决这个问题?
答案 0 :(得分:1)
这行代码:
$ret = $a->display($page);
......没有按照你的想法去做。 “显示”功能不返回内容 - 而是将其输出到浏览器。所以你的json_encode($ ret)只是编码并回显一个空变量。
要捕获显示的内容并将其放入变量,您可以使用php的输出缓冲功能,如下所示:
ob_start();
$a->display($page);
$ret = ob_end_clean();